指標C5知識點總結

2021-08-20 10:33:21 字數 1824 閱讀 3860

1.指標的概念

指標是位址//p=&a[0][

0];/p=*a;/p=&a;  

運算子:

①&取位址運算子

p=&a:把a的位址賦給指標變數p

int a,*p;

p=&a;

簡化為:

int a,*p=&a;//定義指標變數的同時為指標變數賦初值叫做指標變數的初始化;若無初始化或賦值,指標變數的值是乙個隨機數,隨機指向

②*指標運算子(取指標指向的單元的內容)

printf("%d",*p);

2.分類

格式:資料型別 *指標變數名 eg. int *p

陣列指標(行指標):定義乙個指向一維陣列的指標

格式:資料型別 (*指標變數) [n]    //n為指標變數指向的一位陣列元素的個數

a[i][j]:a[i]+j     /      *(a+i)+j     /        *(p+i)+j

float (*p)[4];

scanf("%d",*(p+i)+j);

格式:型別識別符號 *陣列名[陣列長度];      eg.    int *p[4];//包含了4個元素p[0] p[1] p[2] p[3]

函式指標:指向函式的指標變數

格式:型別識別符號(*指標變數名)()//型別識別符號為函式返回值的型別。

3.指標與陣列

①int a[10]  a和&a[0]都表示陣列首位址

↓等價於

int *p=&a[0]; 或int *p=a; //p指向了陣列a的第乙個元素。*p=1的意思是:a[0]=1;

②指標的運算:

加減型※

int a[20],*p;

p=a;

p=p+n //p指向當前元素後的第n個儲存單元

③一維陣列:

例子:int *p,a[5];

p=a;    //p指向一維陣列第乙個元素

①下標法:a[i]                  p[i]

②指標法:*(a+i)        *(p+i)

④二維陣列:

例子:int a[3][4],*p;

p=&a[0][0];        //p指向二維陣列的第乙個元素

a[i][j]的3種表達方式:

*(&a[0][0]+4*i+j)

*(p+4*i+j)

p[4*i+j]

4.指標與字串

char *p="lovezczh"

char *p;

p="lovezczh";//p指向字串

字元陣列的各元素可以修改,但是字元指標指向的字串常亮不能修改

char str[ ]="lovezczh";

char *p="lovezczh";

修改:char str[1]='i'; //√ 單引號

p[1]='i';// ×

指標知識點總結

用指標作函式引數。返回指標值的指標函式。指標陣列 指向指標的指標。main函式的命令列引數。指標與指標變數的概念 指標與位址運算子。變數 陣列 字串 函式 結構體的指標,以及指向變數 陣列 字串 函式 結構體的指標變數,通過指標引用以上各型別資料。指標與指標變數的概念。1 指標 就是記憶體中的乙個儲...

指標知識點總結

這周主要進行了與指標相關的內容的學習,以下是一些自己整理的關於指標的知識點總結,如果有缺差,歡迎指出。在不同的場合有不同的含義,我們要根據情況合理理解和使用 在定義變數的時候需要用 但是給指標變數賦值的時候不用 可以用來表示乙個變數是指標變數,值得注意的是,同一型別的指標變數只能指向同型別的變數的位...

C 知識點 指標

指標就是給數值分配乙個在記憶體中的空間,然後訪問是不用直接訪問數值,而是訪問那個位址,就可以讀取到那個數值,這樣可以做到不能修改數值。通過指標,可以簡化一些 c 程式設計任務的執行,還有一些任務,如動態記憶體分配,沒有指標是無法執行的。指標的本質是變數,可以是各種資料型別,定義乙個指標 ip 其中 ...