77问答网
所有问题
那字符串S+3代表什么意思,指针P+3又是什么意思呢?
如题所述
举报该问题
推荐答案 2012-03-06
比如说你定义了一个
字符串
char s[10] = "abcde"; char *p = s;
s代表这个字符串的首地址,S+3相当于首地址向下偏移了3个,注意字符串都数组都是从0开始的,所以S+3的值,实际上是字符串数组第四个字符的值,也就是d;
指针P+3的意思和上面一样,它的值也是d
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/8qvIGv8WG.html
其他回答
第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个该单位
相似回答
看不懂的一个c语言题目,那个
p+3什么意思
答:
p+3就是将指针向后移三位
,p原来指向的是数组的首地址,也就是W的位置,后移三位就指向c了,然后输出的话就是come to China
已知*p=“abcdef"
,p+3
在c语言中
什么意思
答:
也许你的意思是想说p所指向的那段空间内
,存了abcdef这6个字符,应该是char a[]="abcdef; char *p=a;如果是这样的话,p+3就指向字符d,是字符d的内存地址。
...
s
[2][3]={“ab”, “cd”}, *p=(char *)s; *(
p+3
)是指的
什么
...
答:
s[3]='\0'p = s
指针后移两位
所以就是'\0',如果还不是很明白的话,百度搜索下 字符串结束符。
*(
p+3
)[3]
是什么意思
答:
(p+3)[3]表示p之后的第三个元素
。p是指向数组的指针,p=a是p指向二维数组a的第一维也就是a[0][0]。*(p+3)[3]是C语言中的知识,C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。
p
为
指针,
那么p[
3
]
表示什么
答:
p[i]代表在p指向内存后面的 第i个int大小的块 的内存,存的内容啊 p[i] 等价于 写成 *(
p+
i)
PS
:建议你再好好看看 k&r 里面的 指针与数组 这一章。
C语言
指针
**p
是什么意思
答:
p表示p
也表示地址,简单的说,这个地址对应的存储单元存储的数也是一个地址,而不是数值,而这个被存储的地址对应的存储单元存储的数据才是真正的相应类型的数值!例如:int i=10; //定义了一个整型变量 int *p=&i; //定义了一个指针指向这个变量 int **p1=&p; //定义了一个二级指针指向
p指针
...
什么是指针
答:
//&p的结果是个指针,该指针的类型是p的类型加个*,在这里是int **。该指针所指向的类型是p的类型,这里是int*。该指针所指向的地址就是
指针p
自己的地址。 *ptr=&b; //*ptr是个指针,&b的结果也是个指针,且这两个指针的类型和所指向的类型是一样的,所以用&b来给*ptr赋值就是毫无问题的了。
大家正在搜
指针和字符串
指针赋值字符串
这个S是P与这个S不是P
什么是S C P
判断指针P指向首元节点的条件
博途PLC指针怎么写地址
指针P
博图中P指针的用法
PLC指针