乙個變數的位址稱為該變數的指標;
如果有乙個變數專門用來存放另乙個變數的位址(即指標),則稱它為指標變數;
定義指標變數的一般形式:
基型別 *指標變數名;
float *pointer_1;
char *pointer_2;
指標變數的賦值:
int i,j;
int *pointer_1,*pointer_2;
pointer_1=&i;pointer_2=&j;
指標變數的引用:
指標變數中只能存放位址,不要將乙個整數(或其他任何非指標型別的資料)複製給乙個指標變數。
兩個有關的運算子:
& 取位址運算子
* 指標運算子,取位址所指向的物件的內容。
指標變數作為函式引數:將乙個變數的位址傳送到另乙個函式中去;
陣列與指標:
int a[10];
int *p;
p=&a[1];
c語言規定陣列名代表陣列中首元素的位址;因此下面兩個語句等價
p=&a[0];
p=a;
在定義指標變數時可以對它賦予初值:
int *p=&a[0]; 等效於: int *p; p=&a[0];
也可以寫成: int *p=a;
字串與指標:
char *str="i love china"; 等價於: char *str; str="i love china";
在輸出時要用 printf("%s\n",str);
指向函式的指標:
int max(int,int);
int (*p)(int,int);
int a,b,c;
p=max;
c=(*p)(a,b);
定義方法: 資料型別 (*指標變數名)(函式引數表列);/*資料型別是指函式返回值的型別。
返回指標指的函式:
定義方法: 型別名 *函式名(參數列列);
指標陣列和指向指標的指標:
指標陣列: 型別名 *陣列名[陣列長度]; int *p[4];
指向指標的指標: char **p;
複習知識點
題目 class aclass bextends aclass cextends aclass dextends ba obj newd system.out.println obj instanceofb system.out.println obj instanceofc system.out....
知識點複習
scanf d用於輸入十進位制數 u無符號十進位制輸入 o用於輸入8進製數 c用於輸入單個字元 s用於輸入字串 非空格開始,空格結束,字串變數以 0 結尾 f,lf用於輸入實數,一般使用double,lf 表示對應的輸入量不賦給乙個變數 d printf d帶符號十進位制輸出 u無符號十進位制輸出 ...
指標知識點
指標定義 指標是乙個變數,儲存的內容為位址。int num 5 如果系統分配給num的空間為0x1000到0x1003 num的位址就為首位元組位址0x1000。0x1000內儲存的內容為5。定義指標p int p 指標p內儲存的內容為num的位址,如果系統給p分配的位址為0x2000,可以得到下圖...