在数组中,指针+1指的是什么?
在数组中,指针+1指的是什么?
eg:
int arr[10]={1,2,3};
p++;
*p=10;
那么在这个程序片段中p++究竟是什么意思:
(1) 加一个字节?
(2) 加一个单元格?√
(3) 加一个数组?
在数组中一个位置占4个字节,数组储存用16进制这样的话只能每次增加一个单元格,否则就会覆盖原来的数据,所以,指针+1 其实是加一个单元格。
指针的算术运算
1. 指针+i:加 i 个单元格,加 i*sizeof(去掉一个 *)个字节。
2. 指针-i:减 i 个单元格,减 i*sizeof(去掉一个 *)个字节。
3. 指针+指针:无意义,非法。
4. 指针-指针:间隔的单元个数(可正可负),首先算出字节数,然后除以sizeof(指针去掉一个 *)。