C語言 陣列

2021-09-01 12:36:24 字數 3272 閱讀 4217

一.陣列介紹

陣列:一組具體相同型別的元素的集合

陣列變數的定義:通過[ ]來表明申請元素的個數

例如

(1)求陣列大小

int main()

(2)一維陣列初始化

1、全部初始化 使用

int a[5] = ;
2、部分初始化,只初始化陣列的前半部分,後面自動為0

int b[5] = ; //b[0] = 1, b[1] = 2,b[2] = 3 ,b[3] = 0,b[4] = 0
3、如果是全部初始化,陣列的個數可以不用寫,系統會自動推到

int c = ;   // c的長度自動就是5

printf ("c 的個數: %lu\n", sizeof(c)/sizeof(c[0]));

4、將陣列元素全部設為0

int d[10] = ;	

int i = 0;

for (i = 0; i < 5; i++)

二.陣列使用

(1)求最大元素的值

int main()

; int len = sizeof(a)/sizeof(a[0]);

int max = a[0];

int i;

for (i = 1; i < len; i++)

printf ("max = %d\n", max);

return 0;

}

(2)求最小元素的值和其對應的下標

int main()

; int len = sizeof(a)/sizeof(a[0]);

int index = 0;

int i;

for (i = 1; i < len; i++)

printf ("min = %d, index = %d\n", a[index], index);

return 0;

}

(3)求奇數和

int main()

; int len = sizeof(a)/sizeof(a[0]);

int sum = 0;

int i;

for (i = 0; i < len; i++)

printf ("sum = %d\n", sum);

return 0;

}

(4)陣列逆序

int main()

; int len = sizeof(a)/sizeof(a[0]);

int left = 0;

int right = len - 1;

while (left < right)

int i;

for (i = 0; i < len; i++)

printf ("\n");

return 0;

}

(5)陣列中所有數都是成對出現,只有兩個數隻出現一次,找出這兩個數

int main()

; int len = sizeof(a)/sizeof(int);

int num = 0;

int num1 = 0;

int num2 = 0;

方法1:兩個數的異或結果

int i = 0;

for (i = 0; i < len; i++)

方法2:從右往左找第乙個不為 0 的位

int count = 1;

while (1)

num = num >> 1;

count++;

}

方法3:分組異或

for (i = 0; i < len; i++)		

printf ("num1 = %d\n", num1);

printf ("num2 = %d\n", num2);

return 0;

}

(6)統計0-100以內0–9的個數

int main();	

int i = 0;

for (i = 0; i <= n; i++) }

for (i = 0; i < 10; i++)

return 0;

}

(7)統計有限個小寫字母的個數

int main();	

char c;

while(c != '\n')

char i = 0;

for (i = 'a'; i <= 'z'; i++)

return 0;

}

三.陣列名

注意:陣列首個元素的位址和陣列的位址是兩回事,&a[0]和&a值是相同的,都是意義不同。

(1)陣列名作為函式引數傳遞,實際上傳遞的是陣列首個元素的位址

(2)我們不能根據陣列指標來計算陣列元素個數,傳參的時候要加上陣列的長度

(3)陣列形參的寫法:

1、int *pa

2、int pa[10] ===> 括號內的數字是無效的,一般情況下都是不寫的,pa不是乙個陣列,還是指標

例如:列印陣列

// void print(int *pa, int len)

void print(int pa[100000000], int len) //注意此時pa[ ]裡面的數是沒有意義的

}int main()

; print(a, 10);

return 0;

}

c語言陣列

陣列 構造資料型別之一 陣列是具有一定順序關係的若干個變數的集合,組成陣列的各個變數稱為陣列的元素。陣列中各元素的資料型別要求相同,用陣列名和下標確定。陣列可以是一維的,也可以是多維的。在科學計算中,許多重要的應用都是基於陣列的。所謂一維陣列是指只有乙個下標的陣列。它在計算機的記憶體中是連續儲存的。...

C語言陣列

在變數作函式引數時,所進行的值傳送是單向的。即只能從實參傳向形參,不能從形參傳回實參。形參的初值和實參相同,而形參的值發生改變後,實參並不變化,兩者的終值是不同的。而當用陣列名作函式引數時,情況則不同。由於實際上形參和實參為同一陣列,因此當形引數組發生變化時,實參陣列也隨之變化。當然這種情況不能理解...

C語言 陣列

陣列 void test1 for int i 0 i 5 i for int i 0 i 5 i 陣列資料倒序存放 void test2 printf 請輸入5個學生的成績 n for int i 4 i 0 i printf 輸出5個學生的成績 n for int i 0 i 5 i 將陣列的長...