*p=array i p=array+i (C语言) 这两个是什么意思
2个回答
展开全部
应该是
*p=array[i]
p=array+i
这两句
其中p是一个指针 而array是一个数组,二者类型应该是相同的。
*p=array[i]
是说 p已经分配好空间了,然后把p指向空间赋值为array中第i个元素的值
而p=array+i 是把array 上第i个元素的地址,分配给p
或者说 p指向这个地址。
而其中区别为,前者只是简单赋值,后续对array[i]值的改变不会影响到*p值
后者是直接赋值地址,后续对*p或者array[i]值改变,都会改变另一个的值。
*p=array[i]
p=array+i
这两句
其中p是一个指针 而array是一个数组,二者类型应该是相同的。
*p=array[i]
是说 p已经分配好空间了,然后把p指向空间赋值为array中第i个元素的值
而p=array+i 是把array 上第i个元素的地址,分配给p
或者说 p指向这个地址。
而其中区别为,前者只是简单赋值,后续对array[i]值的改变不会影响到*p值
后者是直接赋值地址,后续对*p或者array[i]值改变,都会改变另一个的值。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询