c指標的理解

2021-09-27 22:03:52 字數 689 閱讀 3994

指標,將某個變數值賦值給指標,實際上就是將這個變數的位址賦值給指標,或者反過來說,指標中儲存了這個變數的記憶體位址,指向了這個變數,通過指標就能找到這個變數。

結構體(記憶體對齊)

struct data1 

;struct data2

data1佔8位元組,data2佔12位元組,因為data2中b占用了第乙個儲存單元的第乙個位元組,剩餘3個位元組不夠存放乙個int型別變數的,所以a單獨占用乙個儲存單元

指標變數

int a =

123,

*p =

&a;printf

("%d %p %d\n"

, a, p,

*p);

指標變數大小

32系統是4位元組,64為系統8位元組,因為無論是什麼型別的指標,儲存的值都是某個位元組的位址

直接引用(a.x)和間接引用(p->x)

例如:a 是乙個結構體變數,a 中有乙個字段叫做 x,由 a 去找到 x,就用 a.x 來表示。如果 p 是乙個指標,指向 a 變數,如果要是由 p 去找到 x,就使用 p->x。

簡單來說:是結構體變數引用字段,就直接引用,如果是指標想引用字段,就是間接引用。

C 指標的理解

1.記憶體長成啥樣?物理記憶體條由連續排列晶元組構成,在計算機中記憶體模型也被抽象為一組連續的儲存空間,每個空間都能夠儲存若干位元組的資料,每一塊儲存空間也有乙個特定的序號,從0到n。備註 為了便於理解,此處,將記憶體儲存空間橫向排列 實際橫縱排列的意義相同 0000 0001 0002 0003 ...

C 指標的理解

一.c 位址指標的基本概念在計算機中,所有的資料都是存放在儲存器中的。一般把儲存器中的乙個位元組稱為乙個記憶體單元,不同的資料型別所占用的記憶體單元數不等,如整型量佔2個單元,字元量佔1個單元等,在前面已有詳細的介紹。為了正確地訪問這些記憶體單元,必須為每個記憶體單元編上號。根據乙個記憶體單元的編號...

理解C 的指標

本文是新手零基礎學習c 對指標 陣列和結構的理解和筆記,有些凌亂和語無倫次,只是將想法記錄下來,在以後忘了或者概念不清的時候看看。如理解有誤,敬請各位請前輩不吝指教,不勝感激。在c 基礎教程中指標一般被定義為 存放位址的變數。我們可以把指標變數看做乙個向量,它有大小 sizeof 運算子可查位元組 ...