<分区>
我有一个要传递给函数的“v”数组。 “v”和“&v”是等价的还是它们之间有什么区别?
例如:
char v[4]
scanf("%s", v);
scanf("%s", &v);
<分区>
我有一个要传递给函数的“v”数组。 “v”和“&v”是等价的还是它们之间有什么区别?
例如:
char v[4]
scanf("%s", v);
scanf("%s", &v);
最佳答案
v
是v[0]
的地址,&v
是整个数组的地址。幸运的是,两者都具有相同的值(value)。但是这些指针上的任何算术都会以不同的方式访问。例如
(v+1)
和 (&v + 1)
不一样。
关于c - 将数组传递给函数的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20285673/