国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

python開發(fā)安卓app優(yōu)缺點(diǎn) 學(xué)習(xí)c語言的時(shí)候指針應(yīng)該怎么理解?

學(xué)習(xí)c語言的時(shí)候指針應(yīng)該怎么理解?簡單的說,指針就是一個(gè)代表地址的無符號(hào)整數(shù)。通常我們使用指針,是為了讀取或改變指針指向的數(shù)據(jù)。所以,單獨(dú)理解指針是不夠的。還得了解指針指向的數(shù)據(jù)空間是如何安排的。這有

學(xué)習(xí)c語言的時(shí)候指針應(yīng)該怎么理解?

簡單的說,指針就是一個(gè)代表地址的無符號(hào)整數(shù)。


通常我們使用指針,是為了讀取或改變指針指向的數(shù)據(jù)。

所以,單獨(dú)理解指針是不夠的。還得了解指針指向的數(shù)據(jù)空間是如何安排的。這有可能會(huì)涉及到與具體CPU/OS相關(guān)的一些知識(shí)。如果能結(jié)合計(jì)算機(jī)體系結(jié)構(gòu)知識(shí)一起理解會(huì)更深入、更準(zhǔn)確。

比如:

  • 各種整數(shù)(signed/unsigned long/int/short)是如何存放的?

  • 各種浮點(diǎn)數(shù)(float/double/long double)是如何存放的?

  • 數(shù)組在數(shù)據(jù)空間中是如何組織的?

  • 字符串是如何存放的?

  • 結(jié)構(gòu)(struct)和聯(lián)合(union)是如何存放的?

  • 位域(bit field)的組織

這其中和具體CPU相關(guān)的部分通常有:

  • 結(jié)構(gòu)(struct)和聯(lián)合(union)的對(duì)齊,通常會(huì)以CPU字長對(duì)齊

  • 整數(shù)的存放,會(huì)涉及CPU大小端的規(guī)定

  • 浮點(diǎn)數(shù)的存放,和FPU的設(shè)計(jì)直接相關(guān)


再進(jìn)一步,還有一些擴(kuò)展知識(shí),涉及內(nèi)存的分配和釋放:

  • 程序中如何分配內(nèi)存?(malloc/free)

  • 堆(heap)和棧(stack)各是什么?

這些又和CPU/OS相關(guān)。


小結(jié)一下:指針就是地址,也是一個(gè)整數(shù)。但要用好它,需要了解計(jì)算機(jī)存儲(chǔ)空間的分配規(guī)律,難點(diǎn)在這里,突破點(diǎn)也在這里。