Latest web development tutorials
×

C курс

C Язык учебника C Краткое введение C параметры окружающей среды C Структура программы C Базовый синтаксис C Типы данных C переменная C постоянная C Storage Class C операторы C судья C циркуляция C функция C Обзорное правила C массив C указатель C строка C структура C союз C поле Bit C typedef C Входной и Выходной C грамотность документов C препроцессор C заголовок C Слепки C Обработка ошибок C Рекурсия C Переменный параметр C Управление памятью C Параметры командной строки C Классические 100 случаев

C Стандартная библиотека

C Стандартная библиотека - справочное руководство C Стандартная библиотека - <assert.h> C Стандартная библиотека - <ctype.h> C Стандартная библиотека - <errno.h> C Стандартная библиотека - <float.h> C Стандартная библиотека - <limits.h> C Стандартная библиотека - <locale.h> C Стандартная библиотека - <math.h> C Стандартная библиотека - <setjmp.h> C Стандартная библиотека - <signal.h> C Стандартная библиотека - <stdarg.h> C Стандартная библиотека - <stddef.h> C Стандартная библиотека - <stdio.h> C Стандартная библиотека - <stdlib.h> C Стандартная библиотека - <string.h> C Стандартная библиотека - <time.h>

Вызов C функция ссылка

функция C функция C

Ссылка на параметров вызоваметода, копировать параметры адреса для формальных параметров , переданных функции. Внутри функции, адрес, используемый для доступа на вызов фактические параметры для использования. Это означает, что модифицированная форма параметров влияют на фактические параметры.

Значение передается по ссылке, указатель будет передан аргумент функции, так же, как и другие значения передаются функции то же самое. Таким образом Соответственно, следующая функцияподкачки (), вам нужно объявить функцию как аргумент типа указателя, значение функции для точек параметров для обмена двух целочисленных переменных.

/* 函数定义 */
void swap(int *x, int *y)
{
   int temp;
   temp = *x;    /* 保存地址 x 的值 */
   *x = *y;      /* 把 y 赋值给 x */
   *y = temp;    /* 把 temp 赋值给 y */
  
   return;
}

Для получения дополнительной указатель детали C, посетите C - указатель раздел.

Теперь перейдем по ссылке к функции вызовасвопа ():

#include <stdio.h>
 
/* 函数声明 */
void swap(int *x, int *y);
 
int main ()
{
   /* 局部变量定义 */
   int a = 100;
   int b = 200;
 
   printf("交换前,a 的值: %d\n", a );
   printf("交换前,b 的值: %d\n", b );
 
   /* 调用函数来交换值
    * &a 表示指向 a 的指针,即变量 a 的地址 
    * &b 表示指向 b 的指针,即变量 b 的地址 
   */
   swap(&a, &b);
 
   printf("交换后,a 的值: %d\n", a );
   printf("交换后,b 的值: %d\n", b );
 
   return 0;
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

Перед включением, значение: 100
Перед переключением б значения: 200
После обмена, значение: 200
После обмена, б значения: 100

Приведенный выше пример показывает, что, с традиционными ценностями различных вызовов, опорный вызов внутри функции, чтобы изменить значения а и Ь, по сути, изменили функцию вне а и Ь значений.

функция C функция C