C指標 複習筆記2

2021-10-03 20:45:51 字數 1117 閱讀 3110

1.void 可以定義變數

void *p;//p的型別為void *, 而void *指標型別,32為平台4位元組

//p叫萬能指標 p可以儲存 任意一級指標

char ch;

p = &ch;//型別:char *

int num;

p = #//型別:int *

float f;

p = &f;//型別:flaot *

*p操作,需對p進行強制型別轉換

void test01()

2、不要對 沒有初始化的 指標變數 取*

int *p;

printf("*p=%d\n",*p);

//因為p沒有初始化 內容隨機 也就是p指向了乙個未知空間 系統不允許使用者 取值*p操作

3、不要對 初始化為null的指標變數 取*

//null 就是(void *)0 位址,也是記憶體的起始位址 受系統保護#define null    ((void *)0)

int *p=null;

printf("*p = %d\n", *p);//也不能 *p

4、不要給 指標變數 賦普通的數值。

int *p = 1000;//此時的1000對於p來說 是位址編號 1000

//*p表示在位址編號為1000的位置 取值 ,而位址編號1000不是合法的空間 所以不能*p

printf("*p = %d\n", *p);//也不能 *p

5、指標變數不要操作越界的空間。

char num=10;

int *p = #

//num只佔1b空間 而p的指向型別為int 所以*p取值寬度為4b,所以越界3b

printf("*p =%d\n",*p);//操作非法空間

void test02()

C語言複習 指標2

1.指向函式的指標 在 語言中,乙個函式總是占用一段連續的記憶體區,而函式名就是該函式所佔記憶體區的 首位址。我們可以把函式的這個首位址 或稱入口位址 賦予乙個指標變數,使該指標變數指 向該函式。然後通過指標變數就可以找到並呼叫這個函式。我們把這種指向函式的指標變數 稱為 函式指標變數 函式指標變數...

c 智慧型指標複習筆記

shared ptr 變數出了作用域之後智慧型指標會析構,引用計數 1,直到為0時銷毀物件,呼叫物件的析構函式,哪怕是出現了異常。weak ptr解決迴圈引用問題 unique ptr它不允許其他的智慧型指標共享其內部的指標,不允許通過賦值將乙個unique ptr賦值給另乙個unique ptr ...

C 學習筆記 指標2

關於指標形參的注意事項 不要企圖通過改變指標形參的值而使指標實參的值改變,看下面的 include void swap int p1,int p2 int main int a 5,b 9 int pa,pb pa a pb b if a b swap pa,pb std cout a b 要想輸入...