一、概念
/*
变量
基本数据类型作为 函数的参数 是 值传递
如果形参是基本数据类型, 在函数中 修改形参的值 不会影响到外面的值
数组
注意 : 数组名作为函数的参数传递, 传递的数组的地址
因为数组名 就是 数组的地址 &number = &number[0] == number
注意 : 如果数组作为函数的形参, 元素的个数可以省略
如果形参是数组, 那么在函数中修改形参的值, 会影响到实参的值
*/
二、代码
#include <stdio.h>
// 基本数据类型作为 函数的参数 是 值传递
// 如果形参是基本数据类型, 在函数中 修改形参的值 不会影响到外面的值
void change (int value)
{
value = 55;
}
// 注意 : 数组名作为函数的参数传递, 传递的数组的地址
// 因为数组名 就是 数组的地址 &number = &number[0] == number
// 注意 : 如果数组作为函数的形参, 元素的个数可以省略
// 如果形参是数组, 那么在函数中修改形参的值, 会影响到实参的值
//void change2 (int value[2])
void change2 (int value[])
{
// value[0] = 88;
value[1] = 55;
}
int main()
{
#pragma 1.
int num = 10;
change(num);
printf("num = %i\n",num);
int nums[2] = {1,5};
/*
change2(nums); // 相当于 传递了数组的地址
printf("num[0] = %i\n",nums[1]);
*/
change(nums[0]); // 相当于 传递了数组的地址
printf("num[0] = %i\n",nums[0]);
return 0;
}
网友评论