必備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 定義...