陣列的型別是由元素型別和陣列的大小共同決定的
例如:int array[5]的型別為int[5]
c語言中通過typedef為2陣列的型別進行重新命名
typedef type(name)[size];
例如:typedef
int(aint5)[5];
typedef
float(afloat10)[10];
定義陣列:
aint5 iarray;
afloat10 farray;
int
array[5];
array
//陣列元素起始位址
&array
//陣列起始位址
陣列指標的定義及其使用方式:
定義乙個陣列指標:type (*pointer)[5];
pointer 為陣列指標變數名
type 為指向陣列的型別
n為指向陣列的大小
二維陣列和二維指標
二維陣列在記憶體中以一維的方式排布
二維陣列可以看成是常量指標
以為陣列名代表陣列元素的首位址
int a[5] -> a的型別為int *
二維陣列名同樣代表陣列元素的首位址
int m[2][5] -> m的型別為int (* ) [5];
結論:
二維陣列名可以看做是指向陣列的常量指標
二維陣列可以看做是一維陣列
二維陣列的每個元素都是同型別的一維陣列
因為c語言中的引數只以值拷貝的方式傳遞引數 因此在陣列作為引數進行傳遞的時候陣列會退化成指標
函式引數中有陣列的時候會自動的退化成相應的常量指標
棧是現代電腦程式中最重要的概念之一
棧在程式中用於維護函式的呼叫上下文,沒有棧就沒有函式就沒有區域性變數
棧儲存了乙個函式呼叫所需要的維護資訊
函式引數,函式返回位址
區域性變數
函式呼叫上下文
C語言迴圈小技巧
寫 有兩類追求,一種是追求實用 coder 一種是追求 藝術 artist 我是那種追實用追膩了,偶然追一下藝術 就是偶然和藝術有一腿 的那種coder 很多人,已經習慣了for i 0 i n 又或者,有的人知道平方根的優化 int isprime int n 再或者,消除偶數 int ispri...
C語言位操作技巧
c語言位操作 2017年06月04日 16 51 00 閱讀數 1553 此文將花費您8 15分鐘時間,帶您對嵌入式中常用的位操作有個了解。和數位電路有點相似!感謝閱讀!位操作符 1.位與 1 注意 位與符號是乙個 兩個 是邏輯與。2 真值表 1 0 01 1 10 0 00 1 0 3 從真值表可...
c語言的文字操作
1 檔案 檔案分為文字檔案和二進位制檔案。硬碟上存在的 檔案 肯定是二進位制的。二進位制檔案 存在的是資料的二進位制。2 檔案的開啟和關閉 linux環境下,檔案的開啟和關閉時不分二進位制的檔案或文字檔案。檔案的開啟 file fopen const char path,const char mod...