char *q=p; 中的*q被赋值的是整个指针*p 还是当前*p所指的那一位
答案:1 悬赏:40 手机版
解决时间 2021-03-07 09:35
- 提问者网友:星軌
- 2021-03-06 14:21
char *q=p; 中的*q被赋值的是整个指针*p 还是当前*p所指的那一位
最佳答案
- 五星知识达人网友:轮獄道
- 2021-03-06 15:33
char *q=p;
是声明了指针q,然后指向(也就是赋予指针的值)p,p是字符串首地址。追问输入 1 2 3
p++后 指针指向的是哪一位;
还有*q=p中的p指的是整个指针*p还是指哪一位?追答你的程序有点长,看完要花不少时间。
p是指针类型,如果是以数组的形式声明的,比如char p[] = "abc",或者 char *p = "abc",那p还是abc的头指针,*p值是a,p++则往后移动指向了b,*p=b。如果是声明为字符指针,比如char c = 'a'; char *p = &c; 那么p指向c,*p=c,但是此时p不是数组,p++虽然也是向后移动但是移动到哪里是未定义的,没有意义。追问非常感谢!但还有个问题:
char *q=p; 假设p指向了“abc”中的 “a”;
那么执行char *q=p;之后*q指代的是什么;追答你这个假设实际上本身就是混淆的,必须用代码说明你是怎么“指向”的
是声明了指针q,然后指向(也就是赋予指针的值)p,p是字符串首地址。追问输入 1 2 3
p++后 指针指向的是哪一位;
还有*q=p中的p指的是整个指针*p还是指哪一位?追答你的程序有点长,看完要花不少时间。
p是指针类型,如果是以数组的形式声明的,比如char p[] = "abc",或者 char *p = "abc",那p还是abc的头指针,*p值是a,p++则往后移动指向了b,*p=b。如果是声明为字符指针,比如char c = 'a'; char *p = &c; 那么p指向c,*p=c,但是此时p不是数组,p++虽然也是向后移动但是移动到哪里是未定义的,没有意义。追问非常感谢!但还有个问题:
char *q=p; 假设p指向了“abc”中的 “a”;
那么执行char *q=p;之后*q指代的是什么;追答你这个假设实际上本身就是混淆的,必须用代码说明你是怎么“指向”的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯