永发信息网

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类型的指针。
全部回答
  • 1楼网友:七十二街
  • 2021-02-15 17:56
“char s[]="program",*p=s;”, 这个定义本身就有问题! 你应该是想让指针p指向数组s的开始地址, 假设你已经定义 char *p了 接下来应该是p=s啊! 如果你*p=s,是指p指向存放s开始地方的位置了.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯