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

Linux C语言指针与内存

难度初级
时长 2小时 5分
学习人数
综合评分9.60
263人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.4 逻辑清晰
老师的基础不是特别牢…………
ide用多了看这个感觉真是麻烦啊

已采纳回答 / fujia1992
此时a=5还没执行,打印出的a是你之前赋的值,可能之前赋的值超出了数据类型的范围而去的补码
int *p; p是指针, *p的值为int型。
//我的分析
// 变量应该是保存在堆内存里面,因为是无序的。
// 函数调用过程保存在栈内存,因为是有序的最先入栈的是main函数,然后是change函数。
// 这里需要明确函数调用栈和变量保存栈内存 可以认为是分离的。
// 寻址方式有多种,地址和数据是分离的。
// 这里如果没有传递地址,而是直接传值的话
// 系统就会为函数重新开辟一个临时的堆内存,用以保存函数调用期间的变量
// 函数处理这个临时的堆,肯定不会对原来的值产生影响。
// 因为不在一个作用域,是两个不同的堆。
// 如果是指针的话,就会直接使用main的那个堆内存的变量,改变的结果也就直接反应到
假如 0x1到0x5 为什么就是增加了4个字节 在64位操作系统中
这个也是互动的呀,分屏,一端终端操作,一端放视频。跟着视频的语速打代码,还能集中注意力,提高效率
看完了,讲的都挺好的。适合有一定基础的,不适合预习
这个是在linux系统下的,这里的连续排放也许在windows就不是这样的了,我估计考试的时候选择题不敢这么出
老师,我想问一下操作系统是给内存的字节编号还是内存的位编号?
如果是给内存的字节编号,那怎么进行内存字节内的位操作?
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00),不能用gdb,用什么代替呢?
之前想错了,老师说的是地址编号是2的64次方个,而每个地址编号对应的是一个8bit的字节。请忽略我的上条评论~
老师5分41秒的时候说“2的64次方个不同的字节”有点让人疑惑,一个字节是8个bit,64个不同的字节就是512个bit,也就是512个二进制,是不对的。应该说“2的64次方个不同的bit”。
透彻精简。。。。。。。。。。。。。
课程须知
本课程是C语言中级课程,为了更好的学习效果: 1、需要有一定的C语言基础,如果没有基础的同学可以看《C语言入门》这门课。 2、本课程是在Linux环境下讲解,需要熟悉一些Linux命令。如果不了解的话可以在《Linux C语言编程基本原理与实践》这门课程中补充
老师告诉你能学到什么?
1、C语言中的指针是怎么回事 2、Linux下gdb调试工具是怎样使用的 3、指针与内存有着怎样的关系 4、数组与字符串之间的联系

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消