1 什麼是陣列
陣列表示相同型別的資料集合,是聚合型別
2、陣列存放在哪個位置??
方法內3、陣列什麼時候確定大小?
編譯時4、什麼時候給陣列分配記憶體??
程式執行時
5、最多分配多大的記憶體?
棧的大小 1m-2m
6 定義陣列
int arr[5] = //5為陣列長度
陣列初始化只有一次機會即在定義陣列的時候
功能函式中傳引數若為陣列,可使用指標
void show(int *p)
int main()
;//20
show(arr);//位址 陣列首元素的位址
}
7、&arr+1;//陣列最後乙個元素的後面
訪問陣列當中元素的方法:
可以通過下標去訪問 //arr[1]
通過指標的形式訪問
nt *p = arr;
int a = *(p+3);//訪問
8 陣列的位址
int arr[5] = ;
printf("%d\n",&arr);,//首位址
printf("%d\n",&arr+1);//整個陣列+1的位址
printf("%d\n",&arr[0]);//arr[0]的位址
printf("%d\n",&arr[4]);//4號下標的位址
printf("%d\n",arr);//首位址
printf("%d",arr[2]);//2號下標的值
9 求陣列的長度
int len = sizeof(arr)/sizeof(arr[0]);
10,字元陣列
char crr[5] = ;//字元陣列
char crr2[5] = "abcd";//字元陣列 缺省會加\0
char crr3 = "abcdef";//字元陣列 缺省會加\0
字串使用%s進行列印
%s:遇到\0停止
其中printf("%s\n",crr) 因為沒有\0來停止 所以列印結果如上圖
1 sizeof與strlen
sizeof:
關鍵字,用來求位元組長度 不會計算 \0
注意,用sizeof求指標位元組數時 全為4
strlen:
庫函式需標頭檔案#include
用來求字串的長度,但是不包括\0
2,斷言 assert
斷言是乙個巨集 需要#include標頭檔案
適用於debug版本
void assert( int expression );
果expression的值為假(即為0),那麼它先列印一條出錯資訊,然後終止程式執行。
記錄C語言入門 三
今天才看到陣列 陣列可以這樣初始化 資料型別 陣列名稱 長度n 若元素個數小於陣列長度時,多餘的陣列元素初始化為0 在宣告陣列後沒有進行初始化的時候,靜態 static 和外部 extern 型別的陣列元素初始化元素為0,自動 auto 型別的陣列的元素初始化值不確定。printf 2f,arr i...
C語言程式設計入門(三)
寫程式就像建立模型一樣,乙個完整的程式不僅有所謂的磚,也有所謂的框架,其實框架這個東西在後來的學習中將會指代封閉好的工具包一樣的東西。在這裡我們指的框架是指如何讓這些 磚 完成更加複雜的功能。這就涉及到了一些語句。即順序執行的語句,按照一定條件才執行的語句,按照條件進行迴圈的語句。順序語句不用多說,...
程式設計入門 C語言(三)
你的程式要讀入一系列正整數資料,輸入 1表示輸入結束,1本身不是輸入的資料。程式輸出讀到的資料中的奇數和偶數的個數。輸入格式 一系列正整數,整數的範圍是 0,100000 如果輸入 1則表示輸入結束。輸出格式 兩個整數,第乙個整數表示讀入資料中的奇數的個數,第二個整數表示讀入資料中的偶數的個數。兩個...