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

Linux C语言指针与内存

难度初级
时长 2小时 5分
学习人数
综合评分9.60
263人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.4 逻辑清晰
Mac操作 内存并未连续分配,这块还是有bug O(∩_∩)O~
printf("---------------------------------\n");
p=&a;
for(i=0;i<6;i++) {
printf("p[%d]=%d\n", i, p[i]);
}
return 0;
}
#include <stdio.h>
int main()
{
int a=3;
int b=2;
int array[3];
array[0]=1;
array[1]=10;
array[2]=100;
int *p=&a;
int i;
for(i=0;i<6;i++) {
printf("*p=%d\n", *p);
p++;
}

最新回答 / KanoWill
C编译器对于输出下标超出长度不会报错,但是运行时会发生不可预料的问题
讲的太好了

最新回答 / 实时编程
1,0x 表示16进制   我们平时说的数字就是10进制   方便区分 2,堆内存 一般情况下是 自己申请的 一般用malloc 申请的内存 是堆内存一般我们的变量  会放在  栈内存    栈帧  也是在栈内存 的  一般情况 下  堆内存 需要 主动调用  3, 寄存器  属于硬件  已经不是内存了CPU 可以直接 从寄存器 取数据  这样 比从内存取快非常多不过寄存器 内存 还有缓存  之间 关系 都是 由操作系统 处理的我们在编程过程一般理解为 从内存取数据而已 这个 一般 会在 操作系统 和组成...
开始学习 打卡! 老师超棒!

已采纳回答 / 菜菜mooy
16进制么 0*16^0+15*16^1+1*16^2+15*15^3
different os vision,different compiler vision,different results output

最新回答 / 熙小雅
解决了,没compile导致运行是之前代码结果
a,b是局部变量,依次存储在栈中,那它们的地址按顺序应该是a大,b比a的地址小4个字节!怎么会不一样?
老师讲的真好!赞!

已采纳回答 / DoDream
等号左边的意思是定义一个函数指针pquadrate,将quadrate函数的地址赋给pquadrate,quadrate是一个返回值是int,有一个int参数的函数。推荐你一个不错的网站,百度搜索C++技术网,第一个就是了,里面有一些C语言的教程,那些人写得挺用心,通俗易懂,能学的东西还挺多,这个网站还有很多不错的资源可以下载,例如电子书,IDE等,如果你技术上来了,还可以去做一下里面的练习小项目,感觉收获丰富。
课程须知
本课程是C语言中级课程,为了更好的学习效果: 1、需要有一定的C语言基础,如果没有基础的同学可以看《C语言入门》这门课。 2、本课程是在Linux环境下讲解,需要熟悉一些Linux命令。如果不了解的话可以在《Linux C语言编程基本原理与实践》这门课程中补充
老师告诉你能学到什么?
1、C语言中的指针是怎么回事 2、Linux下gdb调试工具是怎样使用的 3、指针与内存有着怎样的关系 4、数组与字符串之间的联系

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消