char *p;则p与*p各代表了什么?
答案:2 悬赏:60 手机版
解决时间 2021-02-15 18:57
- 提问者网友:鼻尖触碰
- 2021-02-15 15:17
char *p;则p与*p各代表了什么?
最佳答案
- 五星知识达人网友:一秋
- 2021-02-15 16:22
char* p是一个指针,根本没分配内存,它指向的"abc123ABC" 是只读的,不能改变,在下面给它赋值肯定是错的;
char p[]是一个数组,已经分配内存,是将"abc123ABC" 复制到该内存里面,这个内存是可读写的;
(char*) p 是将p强行转换成指向char类型的指针。
char p[]是一个数组,已经分配内存,是将"abc123ABC" 复制到该内存里面,这个内存是可读写的;
(char*) p 是将p强行转换成指向char类型的指针。
全部回答
- 1楼网友:七十二街
- 2021-02-15 17:56
“char s[]="program",*p=s;”,
这个定义本身就有问题!
你应该是想让指针p指向数组s的开始地址,
假设你已经定义 char *p了
接下来应该是p=s啊!
如果你*p=s,是指p指向存放s开始地方的位置了.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯