问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请一些c语言指针方面的概念,*p=&n, p=n, *p=n, p++,*p++ *(p+1...

发布网友 发布时间:2024-02-10 13:21

我来回答

1个回答

热心网友 时间:2024-03-02 04:50

因为你没有说明p与n的类型,我暂且假定它们初始化如下:

int m = 0;
int *p = &m;    //p指向变量m
int n = 20;

现在来说明这几个分不清的含义:

(1)*p = &n;   &n是取变量n的地址,然后赋值给指针p所指向的内存空间。因为&n是一个地址类型(可看作int指针类型),而*p即为取变量m的值为int类型,等号左右两边类型不匹配,C语言默认强制类型转换,会将地址类型(类似0x7ff97)转换为int类型(如0x7ff97会转换为十进制下的8883503)。注意:因为p指向变量m,所以此句执行后,m的值被更改为8883503.

(2)p=n;   因为n的值为20(十进制,转换为十六进制为0x14),等号左边的P是指针类型,右边是int类型,也会进行默认强制类型转换,执行此句后,p的值变成了0x14,可以用语句 printf("p=%p\n", p)或printf("p=0x%x\n",p)来显示p的内容。

(3)*p=n;  此句假设上面1-2两句没有执行,因为如果执行了(2)后,p的内容是0x14,这是一个普通程序不能操作的内存地址,再执行*p=n意思是将n的值“复制”到0x14这块内存里,这将会是非法操作。  当p还是指向变量m时,执行此句后,n的值就“复制”到m中,m也为20了。

(4) p++ 这和++p效率一样,也和p=p+1效率一样,意思是p的值会增加一个所指向类型的长度,示例中因p指向int类型(4字节长),所以假设p的值原本为0x7ff90,p++后p的值就为0x7ff94

(5)*p++, 一般会这样写 int x=*p++;  因为p指向m(最上面假设),而*比++优先级高,所以这句相当于 两句: x=*p; p++; 故m的值“拷贝”给x了,而p自身增加了4个字节,不再指向m变量。此语句p发生了变化

(6)*(p+1),这句相当于先将p+1,假设p原本为0x7ff90,+1个int类型长度后其值变为了0x7ff94,而前面的*号则意味着取这个0x7ff94地址中的值。此语句p没有变化。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 交互设计的“根”——七大定律 交互设计原则和理论2——七大定律 七大设计原则 附近的加油站有哪些 附近的加油站有哪些地方 ...这个c语言程序为什么要定义*p?然后for(p=a;p<a+n;p++)的a没有定义... 使字符串前导*不得多于n个,若多于n个则删除多余的*,若少于或等于n个则... 卷腹是有氧还是无氧 秦始皇二号坑有什么特殊的吗? 放置三国升星攻略 ysl小金条每个色号气味都不一样吗 重音teto音源用不了,我下载的音源从文件夹里听都是完整的,在utau里全... 飙酷车神狂野之旅是单机还是网游 比比赞和三只松鼠哪个好?求真实评价~ 汉字九田字格正确写法 一年内怎么改第二次 下雨的天气让我难过(用英语表达) ...这是指钢筋混凝土吗?房子是北京丰台区1992年左右的6层板楼_百度知 ... 一般的单元楼可住多少年?我住的单元楼是1978年建的,还可以住多少年? 严监生伪君子吗? 索尼游戏机港服psn账号ps+账号有什么区别,如果不花钱升级ps+账号是不是... ...宝哈啰出行应该什么时候叫车顺风车和打车怎么叫车,如果早上5点出发... 一年改2次的办法 金au750钻石女戒价格是多少 hifi音频解码芯片排行榜 杭州绿城桂语新月地址在哪里? 我们厂三百多人,食堂外包,吃的菜很多有坏了的味道,应该打什么... 我们公司食堂想对外承包,找一些菜式表看看,有哪些食堂承包商好...8 郑州到商丘2点二十六分的高铁几点到商丘 郑州火车站能坐高铁开往商丘吗? 计算器怎么打n次方? 大痞子为什么都很有钱啊9 为什么当今社会那么多大学生失业,地痞流氓生活过的反而潇洒,有...41 为什么我们这里人都说台球是有钱人和痞子的娱乐活动?9 相声演员中,为什么绝大多数都像痞子? 为什么淮南这么多痞子啊?为什么说淮南是世界第2大流氓城市啊?...6 为什么社会上总会有那些痞子?3 痞子英雄中陈在天为什么整容?为什么那么有钱? 求七年级八年级的全套生物电子课本 拔本塞源的意思拔本塞源的解释拔本塞源接龙 火山灰的危害 冰岛的火山灰为什么能影响民航机的飞行 s24 ultra参数 冰岛火山爆发 民航飞不了 三星s24ultra开创新标准了吗