为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Linux C语言指针与内存_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Linux C语言指针与内存

DavidChin
难度初级
时长 2小时 5分
  • 用x命令可以每次输出多个, 格式:x/个数 d 地址

    d十进制

    查看全部
  • 内存地址从大到小依次为系统内核,栈,堆,数据段,代码段。

    查看全部
  • 32 bit 指针 4个字节

    64 bit 指针 8个字节

    查看全部
  • 变量名只是个代号

    变量的本质就是内存

    指针保存内存地址


    查看全部
  • 32位:内存编号只能编到32个二进制位

    操作系统:管理内存,编号,规划。

    用户内存隔离:避免系统内存故障

    查看全部
    0 采集 收起 来源:内存管理

    2019-01-30

  • 单位:字节(Byte)

    1 Byte=8 bit

    0~9 A BCD E F 10 (0*表示16进制)

    计算用二进制 显示用十进制 编程用十六进制

    查看全部
  • f 1

    f 2

    切换函数栈

    查看全部
  • #include<stdio.h>
    int main(void)
    {
        char str[] = "hello";
        char *str2 = "world";
        char str3[100];
        printf("input the value \n");
        scanf("%s", str3);
        printf("str is %s\n", str);
        printf("str2 is %s\n", str2);
        printf("str3 is %s\n", str3);
    }   



    查看全部
  • 1.论视频中出现的*p=&ap=&a

    请注意第一次时 int *p 是指针声明 =&a 这是赋值。第二次的 p=&a 也是赋值 但是p前面没有加* 因为已经声明过了 除了声明地方之外的*p 意义为:取p这个指针变量所指向的地址中的值

    2.p++:指针偏移,运行效率高

    3.p+3与*p+3区别:前者是把现指针向下移动三格,后者是对指针所指地址的变量进行操作(数学运算加3)

    (Plus:p+=3与p=p+3等同,加的是步数,原理跟p[3]一样)

    4.为什么p+4;*p=101 与p[4]=101等价???p[4]=101代表从初始位置(a的地址就始)以四个字节为一步,向前走4步,到达某个位置,然后对这个位置进行初始化赋值,即把101赋给这个地址所代表的内存空间。p[4]代表从初始位置(a的地址就始)以四个字节为一步,向前走4步,到达某个位置。*p=101,代表此时指针指向的地址(即走了四步后所在位置)并对这个地址所在的内存空间进行初始化,赋值为101。          

    5.i为什么1? GCC的优化,i是整形,在地址a之后。i初始0,循环一次后指针指向i,此时i+1=1(i++)

    6. 指针如何指向数组?e.g: ①int a[3]={1,2,3};  int(*p)[3]=&a

    ②int *pa=array; pa[0]=1; pa[2]=2; pa[2]=3;

    查看全部
    4 采集 收起 来源:指针运算

    2019-01-01

  • 在程序中使用了一个未被声明的变量所指向的内存空间,则会生成一个随机的值(代码幽灵-不可控)

    程序中声明的同一种变量在内存中连续排列

    查看全部
  • 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区.

    代码段:把源代码编译完成为目标文件的代码,函数等

    数据段:全局变量、常量、静态变量等

    调用的函数指针的顺序就存放在栈内存,可以理解为栈的先进后出就是函数的调用的顺序

    64进制内指针所占内存均为8字节,而32进制中为4字节。

    查看全部
  • 字节 K M G T P E...

    查看全部
    0 采集 收起 来源:内存管理

    2018-12-23

  • 32位操作系统最多可以管理4G内存

    查看全部
    0 采集 收起 来源:内存管理

    2018-12-23

  • *pa=array

    array本身就是个地址,所以不用加&

    array类似是指针常量

    *pa类似指针变量,

    *pa=&a后又有p=&a?

    因为做了6次的p++的指针操作,在新的循环开始之前,要把p指向的位置重新挪回指向a的地址

    查看全部
    0 采集 收起 来源:指针运算

    2018-12-12

  • P[4]=101后

    arr[2]=101


    查看全部
    0 采集 收起 来源:指针运算

    2018-12-12

举报

0/150
提交
取消
课程须知
本课程是C语言中级课程,为了更好的学习效果: 1、需要有一定的C语言基础,如果没有基础的同学可以看《C语言入门》这门课。 2、本课程是在Linux环境下讲解,需要熟悉一些Linux命令。如果不了解的话可以在《Linux C语言编程基本原理与实践》这门课程中补充
老师告诉你能学到什么?
1、C语言中的指针是怎么回事 2、Linux下gdb调试工具是怎样使用的 3、指针与内存有着怎样的关系 4、数组与字符串之间的联系
友情提示:

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