[声明]:本文章为博主自学C语言时遇到的困惑,如有不正,欢迎指出
目录
一、数组名是一个指针
我们构造一个需要遍历数组来执行操作的函数
void Function(int array[]) {
for (int i = 0; i < n; i++) {//遍历
//具体功能
}
}
问题来了,我需要知道此次传入的数组长度,才能确定遍历的边界,我们使用 sizeof 关键字
void Function(int array[]) {
int n = sizeof(array) / sizeof(array[0]);//求数组含有几个元素
for (int i = 0; i < n; i++) {//遍历
//具体功能
}
}
int main(void) {
int array[5] = { 1,2,3,4,5 };
Function(array);
return 0;
}
这里我们初始化数组长度为 5,在 Function 函数中求得 n 也应该等于 5,监视 n 却等于 2
这是为什么呢?再回来看这个函数的参