[求助]简单又困惑的问题?
一个指针数组char *p[3] 分别指向多字符串char str[3][20]
现在的问题是:
*p[1]是否等于*(p+1)
一个指针数组char *p[3] 分别指向多字符串char str[3][20]
现在的问题是:
*p[1]是否等于*(p+1)
[QUOTE]*p[1]是否等于*(p+1)[/QUOTE]
不同,它们的地址不同。
p[1]表示数组P中第2个元素。p[1]的值为指向的地址值,因为是指针数组,它指向的是str[1]的地址,故p[1]==str[1];
例:设p的地址在机器中为0x12345,则p[1]可为指向任何char变量或char数组的地址值,因为p[1]表示的是数组中的元素。
(p+1)则表示以数组P的地址为基地址向后漂移1一个字节。
例:设p的地址在机器中为0x12345,则(p+1)为0x12346
.我不认为是向后漂移一个字节,而是增加它指向的对象长度