必備Linux命令和C語言基礎(lv1 第六課

2021-10-10 17:11:14 字數 2522 閱讀 9351

必備linux命令和c語言基礎

1、指標 2、指標和陣列

1days

二十

四、指標

*指標是c語言提供的強大的「**」之一;可以強大高效地表示複雜的資料結構,實現動態記憶體分配記憶體;

1、指標變數的定義

*型別說明符 *變數名;

*使用「*」說明變數名是乙個指標,型別說明符表明該指標指向的變數的資料型別;

2、定義指標變數的注意點

*「*」只是說明定義的是指標變數,指標變數的變數名是*號後面的內容,

*乙個指標變數必須申明資料型別,雖然指標變數是乙個32位或是64位的等長位址,但其指向必須是宣告的資料型別資料;

3、指標變數的賦值

*未經賦值的指標是野指標;必須賦值後才能使用;

*賦值格式:*指標變數名=&變數名;

4、指標變數的引用

*指標指向的目標稱位指標的目標變數;

*&——取位址運算子;

/*——指標運算子(間接位址運算子);

5、指標的運算

*指標的運算是以指標變數所存放的值(位址量)最為計算的基礎;

1)、指標的算術運算

+ - ++ --

*注意:兩個指標相減表示的是兩個指標之間間隔的資料個數;

2)、指標的關係運算

> < >= <= != ==

*注意:

具有不同資料型別的指標之間的關係運算沒有意義,指向不同資料區域的資料的兩個指標之間,關係運算也沒有意義;

指標與一般整數之間的關係運算也沒意義;但可以和0進行等於或是不等的關係運算,判斷指標是否為空;

6、空指標null

*c語言定義了乙個null指標,其代表0;

*將指標初始化為null是乙個程式設計的好習慣;

二十五、指標和陣列

1、指標和一維陣列

1)、一維陣列的指標

*一維陣列的陣列名就是乙個指向該陣列的首位址的指標;

2)、陣列元素的表示

陣列元素=陣列名+偏移量;

陣列元素=陣列名[下標];

2、指標和二維陣列

arr[i][j]

1)、行指標遍歷二維陣列

*arr加1代表移動一行:即為:arr+1<=>arr[i+1][j]

*arr[i]代表的是列指標。即為:arr[i]+1<=>arr[i][j+1]

*使用arr[i][j] 訪問陣列元素;

*也可使用arr[i]+j

*也可使用&arr[i][0]+j

*也可使用*(arr+i)+j

2)、行指標變數

*儲存行位址的指標變數,叫做行指標變數;

*格式:

《儲存型別》 《資料型別》 <*指標變數名》[表示式]

*例如:

int a[3]

int *p[3]

p=a;

*括號內的數字代表指標加1,移動幾個資料;

3、多級指標

1)、多級指標的定義和引用

*我們把乙個指向指標變數的指標變數叫多級指標變數;

*一級指標

指向處理資料的指標變數稱位一級指標變數,簡稱一級指標;

*二級指標

把指向一級指標變數的指標變數叫做二級指標變數,簡稱二級指標;

*格式:

《儲存型別》 《資料型別》 **《指標名》

例如:int** p;

2)、多級指標運算

4、指標陣列

1)、指標陣列的定義和初始化

*指標陣列是由若干個具有相同儲存型別的指標變數構成的集合;

*格式:

《儲存型別》 《資料型別》 <*指標變數名》[表示式]

例如:int* p[2]

2)、理解指標陣列名

*指標陣列名是乙個二級指標;

5、const和指標

1)、常量指標

*格式:

const 《資料型別》 *《指標變數名稱》[=《指標運算表示式》]

例如:const int* p=&m;

*不能修改值,但可以修改指標

2)、指標常量

*格式:

《資料型別》 const *《指標變數名稱》[=《指標運算表示式》]

例如:int* const p=&m;

*不能修改指標,但可以修改改值

3)、常變數常指標

*格式:

const 《資料型別》 const *《指標變數名稱》[=《指標運算表示式》]

例如:const int* const p=&m;

*不能修改指標,也不能修改改值

6、void指標

*void型別的指標變數是一種不確定型別的指標變數,可以通過強制型別轉化讓該變數指向任何資料型別的變數或陣列;

*格式:

void* 《指標變數名稱》

*使用void指標時必須先要強制型別轉化;

7、字元指標

char *ch;

*可以從字元陣列中指向任意字元;

char *str[10]

*稱為字元指標陣列;

Linux必備基礎命令

help 命令 enable 命令 type 命令 禁用內部命令 enable n 命令 對於選項 option 型別有兩種 cp的常用選項 rm的常用選項 例 less 選項 檔名 互動操作方法 page up向上翻頁 page down向下翻頁 通過上下方向鍵可以實現上下逐行滾動 其他功能與mo...

必備Linux命令和C語言基礎(lv1 第三課

必備linux命令和c語言基礎 八 資料型別 九 常量 十 變數 十 一 運算子 1day 知識點八 資料型別 1 資料型別的分類 1 基本型別 1 整型 int i int 4個位元組 ii signed int 4個位元組 iii unsigned int 4個位元組 iv short int ...

必備Linux命令和C語言基礎(lv1 第五課

必備linux命令和c語言基礎 二 十 一維陣列 二十一 二維陣列 二十二 字元陣列和字串 二十三 字串處理函式 1day 二 十 一維陣列 1 什麼是陣列 陣列是乙個構造型別 是具有一定順序的若干個變數的集合,組成陣列的各個變數稱位陣列的元素 陣列的元素型別必須相同,可以使用下標進行訪問 2 定義...