那字符串S+3代表什么意思,指针P+3又是什么意思呢?

如题所述

比如说你定义了一个字符串 char s[10] = "abcde"; char *p = s;
s代表这个字符串的首地址,S+3相当于首地址向下偏移了3个,注意字符串都数组都是从0开始的,所以S+3的值,实际上是字符串数组第四个字符的值,也就是d;
指针P+3的意思和上面一样,它的值也是d
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-07
字符串S,它是一个常量,S+3表述为第四个字符,但不能用于输出,否则会出错;而指针P+3也第四个字符的为,可以进行输出,但要注意,输出的是从第四个字符开始到最后一个字符。追问

那f(S[0])调用的是值还是地址?(s是字符串)

第2个回答  2012-03-07
s+3,表示的有三个字符,表示的是字符本身内存
p+3 指针 指针表示的是存在变量的内存位置,p+3表示就是从该位置向后推三个位置
第3个回答  2012-03-06
前面回答的不全面
我们来看何谓+3
+3个字符吗?
不对,是3个定义的单位
字符串S+3 = S的首地址+3
指针P+3 是指针P对应的类型+3个该单位
相似回答