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

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

【備戰春招】第12天-C01函數指針

標簽:
C
  • 课程名称:Linux C语言指针与内存
  • 课程链接:Linux C语言指针与内存-慕课网 (imooc.com)
  • 章节名称:
    • 第4章:指针与内存
      • 4-6 函数指针与指针指向的数据访问
    • 讲师姓名:DavidChin
  • 时间:2023-02-18 23:30

课程内容

  • 指针内部保存地址
    • 保存地址是指向什么样的数据是比较复杂的
    • 可以指向基本数据类型,比如整型、浮点型
      • 定义int *pIntA = &a,把变量a地址值保存到指针变量pIntA中
    • 由于代码也是保存在内存中,所以代码也有自己在内存中的地址值,所以无论main函数还是普通函数都会有在内存中的地址值
      • 使用函数指针:int (*pFunction)(int) = &main()
      • 将main函数的地址值赋值给指针变量
      • 这个定义的意思详解
        • (*pFunction)表示为一个pFunction是一个指针
        • (int)表示所指向的函数有一个参数,参数类型为int
        • int没有被符号包裹的表明所指向的函数返回值为int型
      • 这里要强调,如果变量名前有*号,且被括号包裹,说明这个变量就是一个指针
        • 至于这个指针是指向基本类型,还是其它复杂结构,要看括号外部的写法
        • 比如int (*p)[]
          • p是一个指针
          • 这个指针是指向一个数组
          • 数组中的内容都是int数据类型
        • 再比如int (*p[])
          • p是一个数组
          • 数组中类型为指针
          • 这些指针指向int类型数据
        • 从上面例子可以看出,查看数组定义真实含义
          • 要从变量名开始
          • 首先向右看,确定类型
          • 直到碰到括号或结束
          • 再向变量左面看
          • 如果有*,说明是指针
          • 否则就是前面所定义的类型

学习心得

指针就是地址,这么看来代码中所有的一切都是地址
函数指针
GDB看函数指针
函数名不代表函数指针,要使用&函数名来取得函数地址值,然后可以赋值给函数指针

點擊查看更多內容
TA 點贊

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

評論

作者其他優質文章

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

關注作者,訂閱最新文章

閱讀免費教程

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

100積分直接送

付費專欄免費學

大額優惠券免費領

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

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

幫助反饋 APP下載

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

公眾號

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

舉報

0/150
提交
取消