c語言的編譯和執行
開啟終端輸入
$ touch arr.c
$ open arr.c
在開啟的檔案中輸入
include int main(int argc,const
char * argv)
command+s儲存
$ gcc -o arr arr.c
$ ./arr
終端輸出hello world
陣列
一、一維陣列
1.陣列的初始化
陣列的完全初始化:陣列的完全初始化,就是初始化陣列的每乙個元素。
int num = ;
printf("num[0] = %d\n",num[0]);
printf("num[1] = %d\n",num[1]);
printf("num[2] = %d\n",num[2]);
printf("num[3] = %d\n",num[3]);
printf("num[4] = %d\n」,num[4]);
陣列的部分初始化:陣列的部分初始化,初始化了這個陣列裡面的部分元素,其他沒有初始化的元素預設值為0
int num[5] = {};
printf("num[0] = %d\n",num[0]);
printf("num[1] = %d\n",num[1]);
printf("num[2] = %d\n",num[2]);
printf("num[3] = %d\n",num[3]);
printf("num[4] = %d\n」,num[4]);
陣列未初始化:陣列未初始化,其值為隨機數
int num[3];
num[0]= 1; //num[1]和num[2]未被賦值,其值為隨機值。
printf("b[0]=%d\tb[1]=%d\tb[2]=%d\n", b[0], b[1],b[2]);
2.陣列越界
陣列越界分為堆上的陣列越界和棧上的陣列越界(網上有很多知識寫的都不錯,在此不多敘述)。在程式設計中有很大一部分bug是由陣列越界問題引起的,程式設計師在程式設計時應提起注意。
for (int i = 0; i
< 5; i++)
二、二維陣列
二維陣列完全初始化:
int a[4][5] = ,,,
};
二維陣列部分初始化:
int b[4][5] = ,
,};
小練習:
1.一位陣列小練習
手動輸入10個學生的身高,檢查有沒有身高為173cm的同學,若有,輸出他是第幾個同學。
2.二維陣列小練習
列印下述圖形
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
1.手動輸入10個學生的身高,檢查有沒有身高為173cm的同學,若有,輸出他是第幾個同學。
int a[10];
for(int i=0;i<10;i++)
printf("\n");
for(int i=0;i<10;i++)
2.列印下述圖形
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
int picture[4][4] = {};
for (int i = 0; i < 4; i++)
printf("%2d",picture[i][j]);
}printf("\n");
}
自學iOS開發系列 OC(block)
1.block 塊語法,是一種新的語法結構。學習的時候可以模擬於函式指標。2.block和函式指標對比 import 宣告函式 int add int,int int main int argc,char argv nslog d block 3,6 實現函式 int add int a,int b...
自學iOS開發系列 C語言(記憶體及字串)
一 記憶體 1.記憶體分配 靜態記憶體分配 記憶體空間分配在棧,資料段,段。分配之後只能由系統釋放,不能通過程式修改空間大小和釋放空間,稱為靜態記憶體分配。所分配記憶體空間的帶下,在 編譯 時確定,在 執行 時無法修改。編譯 把我們的 翻譯成機器能夠執行的機器碼。執行 機器按照編譯完的機器碼去執行。...
IOS開發系列 C語言之指標
指標是c語言的精髓,但是很多初學者往往對於指標的概念並不深刻,以至於學完之後隨著時間的推移越來越模糊,感覺指標難以掌握,本文通過簡單的例子試圖將指標解釋清楚,今天的重點有幾個方面 什麼是指標 陣列和指標 函式指標 存放變數位址的變數我們稱之為 指標變數 簡單的說變數p中儲存的是變數a的位址,那麼p就...