|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这节课中讲到函数传数组的时候实际上传过去的是数组的地址,并不是将整个数组作为参数传递的方式,那么我试着打印传递之前和传递之后的地址,发现打印出来的地址并不相等 ,不知道是不是函数写错了,还是其他原因,作为小白一枚这部分课程表示太绕了 ,请大牛们看下函数:
#include<stdio.h>
void get_array(int b[10]);
void get_array(int b[10])
{
printf("addr b:%p\n",&b);
}
int main()
{
int a[10] = {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[10]);
void get_array(int b[10])
{
printf("addr b:%p\n", b);
}
int main()
{
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
printf("addr a:%p\n", a);
get_array(a);
while (1);
return 0;
}
因为数组实际上是一个指针,指向一串连续的数据,所以就不用&啦。
|
|