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

Linux C语言指针与内存

DavidChin
难度初级
时长 2小时 5分
  • 2个2G内存条=一个4G内存条效果

    32bit的计算机最多插4G内存条

    32位地址总线=32位寻址空间

    32位指的就是门牌号最多32位

    http://img1.sycdn.imooc.com//5e4887b400013fe906480394.jpg

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

    2020-02-16

  • 一个十六进制的数字可以表示4位二进制的数字

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

    2020-02-16

  • gcc -g main.c -o main.out 

    查看全部
    0 采集 收起 来源:gdb工具的使用

    2020-02-15

  • gdb是Linux下的一个工具,可以通过gdb这个调试工具查看内存中的数据

    查看全部
  • &表示取地址符

    查看全部
  • 指针类型: *变量名

    取地址符:&

    查看全部
  • C语言学习
    查看全部

  • C语言中int为4字节,所以地址的定义为(以int为例):以4个字节中的第一个字节作为地址

    查看全部
  • 定义数组的时候中括号内不能是变量i 。

    (gdb)x/3d (十进制输出) 0x7ffffffffde14 (从de14开始显示)

    x/ :显示多个地址命令  3 :显示3个地址   d :十进制输出变量数值  0x???表示从当前地址开始显示数值

    如果 3 变为 4567 甚至更多的话,要注意不能够越界——超过定义的变量个数(类似于数组)


    查看全部
  • CPU用地址总线寻址,32 位操作系统的地址总线是32位,也就是寻址空间是32位

    有多少地址总线,就有多少种状态,就能寻找和使用多大的内存

    32位 操作系统就有 2^32 个地址总线和状态

    32bit CPU: 2^32 bit == 4GB

    64bit CPU: 2^64 bit == 4GB*4GB == 4TB*4MB == 16PB*1K == 16EB


    在64位操作系统中 前48位是系统分配给用户的,后面是系统自用

    64bit 中  16进制位 表示程序可使用的内存< 0x7fffffffffffffff

    其它的进制位直接给操作系统> 0x7fffffffffffffff - 0xffffffffffffffff


    程序使用的内存分为(低到高)

    最低位:代码段---加载代码指令:主函数和子函数

    数据段---全局变量 或 常量 const

    数据段和代码段一般是操作系统规划好了的


    动态可分配内存:越大用户可调用的资源就越大

    栈:依次顺序执行函数,从主函数开始向下执行

    最高位:操作系统内核


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

    2019-12-03

  • #include


    查看全部
  • #include<stdio.h>

    void change(int *a,int *b)

    {

    int temp=*a;

    *a=*b;

    *b=temp;

    }


    int main()

    {

    int a=5,b=3;

    change(&a,&b);

    printf("%d %d",a,b);


    return 0;

    }

    初识指针,调用函数交换a和b的值


    查看全部
    0 采集 收起 来源:gdb工具的使用

    2019-11-28

  • 正整数转成二进制,除二取余,然后倒序排列,高位补零。将正的十进制数除以二,得到的商再除以二,依次类推知道商为零或一时为止,然后在旁边标出各步的余数,最后倒着写出来,高位补零就可以。
    查看全部
    0 采集 收起 来源:内存管理

    2019-11-22

  • 二进制:正整数转成二进制,除二取余,然后倒序排列,高位补零。将正的十进制数除以二,得到的商再除以二,依次类推知道商为零或一时为止,然后在旁边标出各步的余数,最后倒着写出来,高位补零就可以。
    查看全部
  • 二进制:正整数转成二进制,除二取余,然后倒序排列,高位补零。将正的十进制数除以二,得到的商再除以二,依次类推知道商为零或一时为止,然后在旁边标出各步的余数,最后倒着写出来,高位补零就可以。
    查看全部

举报

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

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