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

Linux C语言指针与内存

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

最赞回答 / blacker丶
在5.1老师有讲,是GCC的优化,i是整形,在地址a之后。i初始0,循环一次后指针指向i,此时I+1=1

最新回答 / Cxiao
0x0-0xf......(12个f)前48位应该是这个吧

最新回答 / qq_乔魔_0
其实只要是比较新的Linux就可以了,不用太在意版本的

最新回答 / 不看6324不混吃等死
查到了    int a[10];  a ,&a和&a[0] 都是分别是什么?先说明a ,&a和&a[0]三个值是的相等哈。a叫做数组名,是数组首元素的地址,也就是&a[0]的值。像是一个指针类型,是一个int型的指针类型,int *,先理解成指针吧。&a这才是一个真正的指针,是一个数组指针。是数组的地址。切记:&a不是指向指针的指针,因为&a和a的值相等,但是*&a和*a的值不相等。*&a和a的值一样,说明*&a仅仅...

最新回答 / Galaxy_Answer___
感觉是编译器和系统的原因,我打印出来也不是视频里面的那个样子,我估计是系统或者GCC对内存的管理有点不一样导致的,以为每个版本的系统内存优化会有点差别,gcc也是,从而导致了这样。我猜是这样的。。。。。。

最新回答 / 实时编程
正常情况下 地址的分配简单的理解为 按 源代码  从上往下  没有问题 一般情况下 是这样 。 这里可能 编译器 如果优化 或许 会不一样  但是暂时 不考虑这个情况 但是 在你的代码里  这些 变量 是分配到 系统的栈内存 的  栈内存  跟操作系统内核 一样在高位就是  假设你是32位系统 系统内存 占用2g 内存 那么  你的地址   大概分配情况就行 0x  FF FF FF FF  这个是内存的 首地址 然后 往下一直是内核地址 直接到  2g内存结束 大概 位置为 1000 0000 0000...

最赞回答 / 慕粉1712147504
首先c++是向c语言嫁接了面向对象编程工具。c++是c的一个超集,意味着任何c程序都同时是,或者差不多是一个有效的c++程序。简单的从概念上说没有区别:1。C++语法中新增了“类”的概念,2。c++可以理解为c的升级版本,c中的语法百分之九十九c++都能使用,反过来c不能使用c++的部分语法和关键字希望能帮到你

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

最新回答 / 慕无忌5762020
无论堆还是栈 都是自顶向下 从大到小 

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

最赞回答 / popo3418953
一般把源代码编译完成为目标文件的代码就存在代码段;调用的函数指针的顺序就存放在栈内存,可以理解为栈的先进后出就是函数的调用的顺序;打印函数内部变量在代码段的存储位置:首先要用bt 显示你的栈内存顺序,再用f + 编号,进去你想打印变量所在的函数里面,再用p+ &变量名字,即可打印;
课程须知
本课程是C语言中级课程,为了更好的学习效果: 1、需要有一定的C语言基础,如果没有基础的同学可以看《C语言入门》这门课。 2、本课程是在Linux环境下讲解,需要熟悉一些Linux命令。如果不了解的话可以在《Linux C语言编程基本原理与实践》这门课程中补充
老师告诉你能学到什么?
1、C语言中的指针是怎么回事 2、Linux下gdb调试工具是怎样使用的 3、指针与内存有着怎样的关系 4、数组与字符串之间的联系

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消