亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【備戰春招】第13天-C01字符串與數組

標簽:
C
  • 课程名称:Linux C语言指针与内存
  • 课程链接:Linux C语言指针与内存-慕课网 (imooc.com)
  • 章节名称:
    • 第4章:指针与内存
      • 5-1 数组声明的内存排列
      • 5-2 指针运算
      • 5-3 字符数组和指针字符串
      • 5-4 字符数组的深入理解
    • 讲师姓名:DavidChin
  • 时间:2023-02-19 23:30

课程内容

  • 代码中定义2个整型变量,一个长度为2的整型数组,将首个定义变量的地址值赋值给一个指针变量

    • 有了这个指针变量,就几乎可以访问程序中定义的所有变量

    • 访问所有变量代码

      • for (int i = 0; i < 6; i++) {
            printf("*p = %d\n", *p);
            p++;
        }
        p = &a;
        for (int i = 0; i < 6; i++) {
            printf("p[%d]\n", p[i]);// 此处不会修改指针变量指向的地址值
        }
        
      • 在GDB中:p * 0x7fffffffde18可以把该地址中的值打印出来

      • 程序在给变量分配内存地址时,是把同类型的变量分配的地址是在一起的

        • 如定义两个整型变量,其地址内存地址很可能是连续的
        • 如果定义一个整型变量,再定义一个浮点类型变量,再定义一个整型变量,那么两个整型变量地址连续,之后再分配浮点类型变量
      • 在GDB中根据地址值快速输出变量值方法

        • x/3d 0x7fffffffde1c:x表示要输出内存的值,3表示从地址值开始输出三个变量值,d是以十进制形式输出变量值,最后为开始地址值

学习心得

GDB的输出变量地址方法很好用,但如果程序不复杂,也可以直接打印出变量地址
源码
GDB调试

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
9
獲贊與收藏
1

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消