就是下雨了 发表于 2018-7-26 18:27:57

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;
}

无符号整形 发表于 2018-7-26 18:56:24

代码错了。
#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;
}
因为数组实际上是一个指针,指向一串连续的数据,所以就不用&啦。

就是下雨了 发表于 2018-7-27 10:27:07

谢啦{:5_98:}
页: [1]
查看完整版本: S1E29:参数和指针课程中遇到的问题