色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

C語言為什么要設指針?是針對內存管理的么?

傅智翔2年前17瀏覽0評論

使用指針是為了實現對計算機系統的全面控制。

我們從計算機的結構簡單說說吧。

當前的主流計算機均采用馮諾伊曼體系結構。后面均假設使用此體系結構的計算機。

(部分處理器自稱為哈佛結構,但也僅限于CPU核心及Cache內部,就整個系統而言仍是馮諾伊曼結構)

在此結構下,幾乎所有的計算機系統資源都可被尋址訪問(除了CPU內部寄存器)。

常見的資源,如:

  • 高速內存(片內SRAM)

  • 普通內存(片外DRAM,如DDR4)

  • 高速片內設備寄存器:如中斷控制器、DMA控制器

  • 低速外設寄存器:如串行控制器

要實現對這些資源的控制,必須能精確控制讀寫操作的地址、次數、位寬。

再比如,中斷處理程序,需要精確了解代碼所在地址,這在C語言中可通過函數指針獲得。

總體說來,通過指針,能達到對目標代碼、數據空間的精確控制,基本能完整的控制計算機的各種資源(CPU內部資源往往需特殊匯編指令控制)。

個人看法:C語言通過放棄對寄存器的精確控制,實現了編程和學習的簡化;又通過指針高效的抽象了計算機資源的訪問方式,達成了細節和復雜度的優秀平衡,這也是C語言經久不衰的一大法寶。