小白對c語言指標的基礎總結

2022-07-18 04:27:18 字數 1028 閱讀 3748

指標

指標是指向一片記憶體空間的位址,指標變數是變數,是存放一片記憶體空間首位址的變數,我們一般所說的指標都是指標變數。

指標的定義及賦值:

型別說明 *變數名  列如 int *p;

區別 int *p=null 與 *p=null

int *p=null;    //

定義指標變數p,並且同時將p的值設定為0x00000000,不是把*p的值設定為0x0000000,這個過程叫做初始化

int *p;

*p=null; //

定義指標變數p,將*p的值設定為nill,即給p所指向的記憶體賦值null,但是p所指的記憶體可能是非法的,編譯可能會顯示記憶體訪問錯誤,那麼做出如下修改,給它一塊合法的記憶體。

int i=10

;int *p=&i;

*p=null; //

這時i中的值由10變成了0,而p值本身沒變,即記憶體位址沒有改變

指標的大小

int *p;

sizeof(p); //

指標的大小根據計算機的位數確定,32位機大小為4個位元組,64位機大小為8個位元組。

指標運算

需要注意的是指標的型別,+1加的是乙個指標型別的大小。

int a[10

];int *p=&a; //

+1,加了sizeof(int)*1個位元組,而不是加sizeof(int[10])*1個位元組

指標的使用型別

指標形式

陣列形式

int a[10

];int *p=a;

p[0]=1; //

指標的陣列形式

*(p+1)=2; //

指標的指標形式

通過指標修改內容的彙編過程

1.找到指標變數的位址

2.通過指標變數的位址,找到內容的位址

3.通過位址找到內容

4.修改內容

小白對c語言陣列的基礎總結

陣列是一系列相同型別元素有序的集合。陣列的定義 一般形式為 型別符 陣列名 常量表示式 如 int a 5 表示陣列有五個元素,a 0 a 5 不存在元素a 5 注意 1.常量表示式中可以包含常量和符號常量,如 int a 3 5 2.c語言不允許對陣列的大小作動態定義。列如,下列對陣列的定義是不合...

對C語言指標的總結

指標 pointer 就是記憶體的位址,c語言允許用乙個變數來存放指標,這種變數稱為指標變數。指標變數可以存放基本型別資料的位址,也可以存放陣列 函式以及其他指標變數的位址。程式在執行過程中需要的是資料和指令的位址,變數名 函式名 字串名和陣列名在本質上是一樣的,它們都是位址的助記符 在編寫 的過程...

對C語言指標的總結

指標 pointer 就是記憶體的位址,c語言允許用乙個變數來存放指標,這種變數稱為指標變數。指標變數可以存放基本型別資料的位址,也可以存放陣列 函式以及其他指標變數的位址。程式在執行過程中需要的是資料和指令的位址,變數名 函式名 字串名和陣列名在本質上是一樣的,它們都是位址的助記符 在編寫 的過程...