古詩詞大全網 - 成語解釋 - C語言指針基本概念及其指針變量的定義是什麽

C語言指針基本概念及其指針變量的定義是什麽

語言中,指針是壹種類型,被稱為“指針類型”。指針類型描述的是壹個地址,這個地址指向內存中另外壹個對象的位置。簡單地說,指針表示的是它所指向對象的地址。

1、比較point,*point,&point三者的區別

對於int * point;

point:是指針變量,其內容是地址量。

*point:是指針變量的目標變量,即指針指向的那個變量,其內容是數據。

&point:是指指針變量本身所占據的存儲地址。

2、指針與數組

用指針和數組名在訪問內存中的數據時,他們的表現形式是等價的,因為他們都是地址量。

數組名表示整個數組的首地址,可以看作是固定地址的指針,不能被賦值。

數組名無須賦初值,而指針在使用前必須賦初值。

3、字符指針和字符串

字符串是壹個字符數組,字符串以‘\0’結束。printf函數的%s格式輸出字符時,是從給定的地址開始,到遇上第壹個‘\0’字符時結束。

對字符指針初始化,是將字符串的首地址賦給指針。

4、指針型函數

所謂指針型函數,即返回值是指針(地址)的函數。

5、多級指針

指向指針的指針(**p)就是二級指針,指向指針的指針的指針(***p)是3級指針。

多級指針類似於間接尋址。

6、指向函數的指針

C語言中的函數名表示函數的首地址,即函數執行的人口地址。

定義形式:[存儲類型][數據類型標示符](*指向函數的指針變量名)();

例子: int(*fun)();//指向函數的指針 , int * fun(); //指針型函數,註意(* fun)括號不能少

7、動態指針

當需要壹大片內存的時候,最好使用動態分配。

使用malloc函數:void * malloc(size_t size)。

例子:

int * pn=malloc(10*sizeof(int));

double *pd=malloc(10*sizeof(double));