返回值为地址的函数 相关问题

img

  1. 图上的s是个整数int,第九行返回一个数字的地址,这意思是相当于返回一个指针吗??
  1. 为什么返回值是个指针? 是因为int sum的号吗?

  2. int* a;
    int *a; 这两种写法

第一行的作用于int
第二行的
作用于a

这有什么区别??

万分感激解答

1,是
2,因为它这里是举个函数返回指针的例子,既然要将s的地址返回,当然返回类型就要用 * 去接。
3,一样都表示指向a的一个指针。但书上建议使用后者,因为有人用 int * a,b; 这样使用就会有歧义,第二个变量到底是想表达int *b,还是int b呢?所以书上不建议这样有歧义的写法。建议将 * 直接写在变量名前面即紧紧跟着变量。

以下答案引用自GPT-3大模型,请合理使用:

a和*a的区别在于:

a是一个定义了一个整数的变量,而*a则是将这个整数的地址赋给了变量a。

也就是说,a的值是整数,而*a的值则是一个指向整数的指针。
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^