C語言指標1

2022-08-09 21:21:23 字數 1607 閱讀 9457

記憶體單元的值:記憶體單元中存放的內容

通過位址可以找到記憶體單元格,然後再取出內容

3、對變數進行資料訪問有幾種方式

兩種:直接訪問     int a=10;     a=a+10;

間接訪問     通過指標

二: 1、指標變數

就是用來存放(指標)位址的變數

指標變數使用流程:先定義   ---> 初始化  -->使用

2、指標變數定義

格式:資料型別  *指標變數名;

指標變數名 嚴格遵守識別符號命名規範

int a;

char c;

double d1;

注意:1)指標變數只能存放位址

2)int *p中,"*"表示定義乙個指標變數

3)指標變數也有作用域(全域性的、靜態、區域性)static修飾區域性變數區域性變數的生命週期延長

4)定義指標變數指向的話,要注意指標的型別,因為當使用指標操作指標指向記憶體單元內容時,會按照指標的型別到記憶體中定址,因此可能會出現問題。

3、指標變數的初始化

把誰的位址給指標變數,就可以理解為,這個指標變數指向這個變數

1)定義的同時初始化

「&」 用此符號可以取得乙個變數的位址

int a;

char c;

double d1;

int *p1=&a;   //&a 獲取的變數a的位址    scanf("%d",&a);

char *c1=&c;

double *dp=&d1;

int *p2 = &c;(錯誤的,p2只能存放乙個int型資料的位址)

int *p3 = 100;(錯誤的,p3用來存放位址的,不能存放整型的數

2)先定義,後初始化

1)變變數的位址進行初始化

int *p3;

p3 = &a;  //給p3指標進行初始化

2)用指標變數,初始化另外乙個指標

int *p4=&a;

int *p5;

p5 = p4; //p4存放的時乙個位址,可以直接賦值給p5

3)指標變數可以初始化為null

null 空 (不是0   「 」  『 』)

int *p2 = null

用0賦值為空

int *p3=0;

錯誤:int *p6=&a;

char *c2=&c;

int *p7 = c2; 錯誤的,因為p7只能存放int型資料的位址 c2是乙個char型變數的位址

三:指標變數的引用:

&  獲得乙個變數的位址

*  兩種用法

1)在定義指標變數的時候,表示定義的時乙個指標變數

2)*指標變數名   表示取得指標變數中存放的那個位址對應的儲存單元的值

int a = 9;    int *p1 = &a;

*p1  9, //獲取a的位址,對應的值

四:指標使用場景:

指標的使用場景1:

在被調函式中,訪問主調函式中的變數

例如:void change(int *p);

//定義乙個指標陣列名為pa 有三個元素,a[0],a[1],a[2]三個位址

int *pa[3]=;

*(pa+1)

C語言 指標1

指標恐怕是c語言中最不容易掌握的乙個概念了,但指標又是如此的重要,可以說不會指標,c語言就等於沒學。指標到底是乙個什麼東西呢?include int main char pch null char pstr hello pointer short pshort null int pint null ...

C語言指標1

陣列與指標 陣列的名字是第一元素的位址。include int main printf str 0 的位址是 p n str 0 輸出 str 0 的位址是 000000000062fdc0陣列相鄰每一元素之間相差值 資料型別的寬度 include int main float b 3 double...

C語言指標1

1 取位址符 2 雙目運算子 例如a b 按位於 指標 位址 int p 定義整型指標變數 double p1 定義浮點型指標變數 int a 10 整型變數存放整型值 double b 23.3 浮點型變數存放浮點數 int p a 整型指標變數存放整型位址 指標 p 為間接訪問符,也稱為解引用 ...