为了账号安全,请及时绑定邮箱和手机立即绑定

Linux C语言指针与内存

难度初级
时长 2小时 5分
学习人数
综合评分9.60
263人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.4 逻辑清晰

最赞回答 / 热喷Redpen
int *pa = &a;是以下代码的缩短形式:int *pa;pa = &a;所以pa = &a *pa = a

最赞回答 / 洪一帆
是在代码段,因为是字符串常量,只需要读,不需要修改,代码段不能修改,只能读取,放在代码段可以节约数据段空间,这是编译器优化的

已采纳回答 / onemoo
str 比 str2 高 0x40-0x38 = 8字节,str占用6个字节,可以容纳开。str3 比 str 高 0x50-0x40 = 16字节,str3占用10个字节,也可以容乃开。一般变量的地址起始要求是2或4的倍数,所以为了对齐,变量之间会有额外的空当。

最赞回答 / 迟早是大神
楼上的同学有点逗,这里确实是老师讲错了,前48位代表0-ffffffffffff。

已采纳回答 / onemoo
这是函数指针声明。这是将pquadrate声明为函数指针,它指向的是有一个int型参数,返回值为int的函数。这语句同时将pquadrate初始化为quadrate的地址(显然quadrate应该是个函数名)。一步一步讲这个声明:这语句声明的是pquadrate变量,前面有个*,而且是用小括号和变量名括起来的(*pquadrate),表明这个变量名优先和*结合。声明变量时前面有*就代表这个变量是指针,所以pquadrate是个指针。那它指向什么呢?接着看,后面有小括号,前面有类型,表明是个函数。参数就是i...

最赞回答 / 来虐小学生
栈内存我才看过这一节,当时我也这样的疑问。后来我是这样解答的,不知道对不对。每一个函数栈从大到小,但是内部变量从小到大。以上只是猜测,还没继续深入看完。勿喷。
课程须知
本课程是C语言中级课程,为了更好的学习效果: 1、需要有一定的C语言基础,如果没有基础的同学可以看《C语言入门》这门课。 2、本课程是在Linux环境下讲解,需要熟悉一些Linux命令。如果不了解的话可以在《Linux C语言编程基本原理与实践》这门课程中补充
老师告诉你能学到什么?
1、C语言中的指针是怎么回事 2、Linux下gdb调试工具是怎样使用的 3、指针与内存有着怎样的关系 4、数组与字符串之间的联系

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消