自學iOS開發系列 C語言(陣列)

2021-07-24 16:58:29 字數 2064 閱讀 1567

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就...