C语言数组注意事项
程序员文章站
2022-07-07 10:39:22
...
数组和函数
-
基本数据类型和函数
- 基本数据类型作为函数参数,在函数中修改形参的值不会改变函数外变量的值
- 基本数据类型有:int float double char short long
-
数组作为函数参数
- 数组不为基本数据类型,属于构造类型
- 数据作为函数参数时,形参接收的是数组内存的起始地址,因此实参和形参传递的时候不是值传递,而是地址传递,因此在函数内部改变形参数组时,实参数组的值也会被改变
- C语言中所有的地址都是以指针的类型来接收的,指针类型在32位中占4个字节,在64位中占8个字节,因此在函数内部无法动态计算数组的长度,所以我们需要将数组长度从外界接收
void printArray(int num[],int count)
{
// int len = sizeof(num) / sizeof(num[1]);//结果为1
for(int n = 0;n < count;n++)
{
printf("num[%i] = %i",n,num[n]);
}
}
数组名
数组名不能和关键字重复
数组名保存的是数组首元素的地址
int age[3] = {1,3,5};
printf("ages = %p\n",ages);
printf("&ages = %p\n",&ages);
printf("&ages[0] = %p\n",&ages[0]);
//以上三个输出结果相同,结论:ages = &ages = &ages[0]
上一篇: C语言文件操作总结