S1E29:参数和指针课程中遇到的问题
这节课中讲到函数传数组的时候实际上传过去的是数组的地址,并不是将整个数组作为参数传递的方式,那么我试着打印传递之前和传递之后的地址,发现打印出来的地址并不相等{:5_99:} ,不知道是不是函数写错了,还是其他原因,作为小白一枚这部分课程表示太绕了{:5_100:} ,请大牛们看下函数:#include<stdio.h>
void get_array(int b);
void get_array(int b)
{
printf("addr b:%p\n",&b);
}
int main()
{
int a = {1,2,3,4,5,6,7,8,9,0};
printf("addr a:%p\n",&a);
get_array(a);
return 0;
} 代码错了。
#include<stdio.h>
void get_array(int b);
void get_array(int b)
{
printf("addr b:%p\n", b);
}
int main()
{
int a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
printf("addr a:%p\n", a);
get_array(a);
while (1);
return 0;
}
因为数组实际上是一个指针,指向一串连续的数据,所以就不用&啦。 谢啦{:5_98:}
页:
[1]