永发信息网

C语言 有关数组的问题

答案:4  悬赏:70  手机版
解决时间 2021-05-01 21:09

#include "stdio.h"
main()
{
 int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q=NULL;
 *q=*(p+5);
 printf("%d,%d",*p,*q);

}

 

为什么报错,内存不能为“written"

最佳答案

因为


*q=*(p+5);


中,q的初始值为NULL(即0),而该地址的内存空间是只读的,受保护的,所以给它赋值是不允许的。



 

全部回答

*q=NULL

这句话有问题

因为q指针的值为null   他可能指向系统的内存内容 

如果给他赋值的话 会引起系统错误 因此 *q=*(p+5); 这样不行

可以吧*q=null   改为 *q=a  之类的  有指向确定的值的  

就对了

因为q是空指针,他没有指向任何内存

这里定义为空,*q=NULL;

再用*q=*(p+5)去指向它并赋值当然会错

我帮你改好运行一下就对了

#include "stdio.h" int main() {  int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q=NULL;  q=(p+5);  printf("%d,%d",*p,*q);

}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
徐州哪有卖正版Windows7的?
怎么QQ书签收藏的网址自动私有的了
1996年14周岁男生1.68M还能长多高
问问 怎么升级才快 ?
吃什么东西可以清热去火?
cpu温度高怎么办
男人就应该自己狠一点:谁说的?
超短的同学离别赠言,高中临别古风赠言给同学
世界豪华车排行号码是多少?
现在做什么才不能不无聊啊!
怎么样让你的喊话在世界板上不停滚动播出
very的同义短语
谁告诉我费玉清的《一剪梅》是不是那个电视剧
依然家族的创始人是谁啊?
自学PHP,直到能够开发这样的网站,需要多久?
推荐资讯
求热血英豪造型,有图
卡萨博汽车生活馆连锁店NO.1地址有知道的么?
交通肇事强险赔付80%,剩下20%商业险管不管
郑州那里有卖网线接驳头
白鸡打一字,上有头,下有尾,中间有四口(打一字
自建二十年房屋是违章建筑吗?
用什么牙膏去除牙上的黄啊
买台相片打印机一般需要多少钱?需要买油墨吗
天津市鑫意达食品有限公司第一分公司地址在什
哪个牌子的护肤品比较好??
膀胱有热还有水
关于李宁鞋子的问题
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?