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

Linux C语言指针与内存

难度初级
时长 2小时 5分
学习人数
综合评分9.60
263人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.4 逻辑清晰
已经由2倍速降到1.75了
这门课用Linux教学且编码就是为了让你更好了解一下底层原理,以前大学那会儿学不就是什么也不懂就瞎敲一通吗,我是做JS的,重新学C就是越来越意识到了解底层编码的重要性了。当然这课我还是在Win下学的,用`Cmder`代替Win自带的cmd,课程中linux的大部分命令都能用`Cmder`在Win下实现。以前老用到`ls`,`ll`,`rm`,`touch`,`mkdir`...现在才知道原理竟然是这样的。我觉得挺好的,新手不想用vim的话完全可以用`sublime`,在`cmder`中直接`subl main.c`,就可以创建并编辑该文件了,就跟`vim main.c`一个样

最新回答 / 骑车去拉萨
根据内存地址。内存地址从大到小依次为系统内核,栈,堆,数据段,代码段

最新回答 / 慕无忌5762020
无论堆还是栈 都是自顶向下 从大到小 
把change里面的参数改成x,y就好理解了。 传入change的时候,“理解上“可以是 x=&a,x得到的是a的地址, 然后*x就是该地址的值。 我们修改*x 其实就是修改a的值。
0ffffff,幺幺幺幺幺 老师你有必要总这么读出来吗
讲得太棒啦
int *pa=&a;把a这个变量所在的内存地址赋给了pa这个变量,pa也是一个变量,pa这个变量所指向的内存是地址是0x7fffffffde08,这个地址保存的数据就是pa里面的东西0x7fffffffddfc

最赞回答 / Mrwhatsup
函数每次调用都会有他独立的栈帧,是从是从高地址向低地址延伸的,栈帧底部为高地址,栈顶为低地址。相当于分配了一段固定的内存空间。而定义的变量在这段空间内部,地址是由低到高的。

最赞回答 / popo3418953
一般把源代码编译完成为目标文件的代码就存在代码段;调用的函数指针的顺序就存放在栈内存,可以理解为栈的先进后出就是函数的调用的顺序;打印函数内部变量在代码段的存储位置:首先要用bt 显示你的栈内存顺序,再用f + 编号,进去你想打印变量所在的函数里面,再用p+ &变量名字,即可打印;

最赞回答 / qq_懒散的小猫咪_03912928
a定义的是变量,不是常量;a=3;只是给a赋予一个初始值。常量是用define声明的
豁然开朗!
指针,让人自杀的地方
课程须知
本课程是C语言中级课程,为了更好的学习效果: 1、需要有一定的C语言基础,如果没有基础的同学可以看《C语言入门》这门课。 2、本课程是在Linux环境下讲解,需要熟悉一些Linux命令。如果不了解的话可以在《Linux C语言编程基本原理与实践》这门课程中补充
老师告诉你能学到什么?
1、C语言中的指针是怎么回事 2、Linux下gdb调试工具是怎样使用的 3、指针与内存有着怎样的关系 4、数组与字符串之间的联系

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消