《黑馬程式設計師》 指標練習 (C語言)

2022-05-29 23:21:09 字數 1894 閱讀 7850

如果你說c語言中除了指標,其他你都學得很好,那你乾脆說沒學過c語言。-----引用李明杰老師的一句話

變數型別  * 變數名            例:int *p;   作用:能夠根據1個位址值訪問並修改對對應的儲存空間

**聯絡1

#include int main()

執行結果:a = 10

int *p中的*是指標的標誌

p = &a;    指標變數只能儲存位址   

int *p;     指標變數p前面定義了int,說明指標只能指向int 型資料

**練習2

#include //通過使用指標改變變數a的值

int change(int *n)

int main()

執行結果:a = 10

注:如果不利用指標則無法在change函式內修改main函式中變數a的值

int main()

int main()

執行結果:a = 30

注:指標在任何型別下都是占用8個位元組

陣列名【下標】           例:ages[i];

指標變數名【下標】     例:p[i];  //前提是指標變數p指向陣列

例:int ages[3] = ;

int *p;

p = ages;     // 陣列名就是陣列首元素的位址,此行**表示把陣列元素位址賦給指標p   

使用指標遍歷陣列內各元素:

2.指標變數的+1究竟位址會加幾取決於指標變數的型別

int *p                p+1相當於位址值+4;

char *p             p+1相當於位址值+1;

double *p          p+1相當於位址值+8;

int main()

; int *p;

p = &ages[0];

for(int i = 0;i <= 4;i++)

return 0;

}執行結果:

ages[0] = 10

ages[1] = 8

ages[2] = 91

ages[3] = 64

ages[4] = 7

解析:指標p指向ages[0]    p+1則指向ages[1]

char s = "itcast";

char *s = "itcast"       指標s指向字串的首元素位址

char *s;

*s ="itcast" 

char *buf = "it";//指標變數buf指向了字串的首位址

printf("*buf = %c\n",*buf);

printf("buf = %s\n",buf);//

執行結果: buf =i                 

buf =it             %s遇到\0才會停止

型別名 * 

函式名(

引數列表

)char *test();      代表函式返回char型別的資料

#include char *test();                            //函式宣告

int main()

char *test()

函式的返回值型別 (*

指標變數名

)(形參

1, 形參

2, ...);

#include void test();

int main()

void test()

黑馬程式設計師 C語言 指標

asp.net android ios開發 net培訓 期待與您交流!指標 指標是c語言中非常重要的資料型別 指標變數的定義 int p int是指標指向資料的型別 p是指標變數名稱 只是用來表示變數為指標變數 指標的使用 int a 10 int p p a 或者p a 表示將變數a的記憶體位址賦...

黑馬程式設計師 c語言指標

ios培訓 android培訓 期待與您交流!指標的定義 定義指標和定義乙個變數類似 資料型別 指標變數名 如 int p 表示定義乙個指向整形變數的指標 使用如下 int a 8 int p p a 指標變數 p中存放a的位址,可以通過p中存放的位址,可以訪問變數a中的值。訪問指標變數中存放的位址...

黑馬程式設計師 C語言 指標

一.指標的基本概念 number 10 是什麼意思呢?1.通過number這個位址,找到他指向的空間 2.到這個空間裡,取出裡面儲存的值 普通變數基本格式 變數型別 變數名 指標變數基本格式 變數型別 指標變數名 指標裡面存的是別的變數的位址 p來列印值是0x開頭的,16進製制數字 指標變數在記憶體...