C語言基礎知識–數組(一)數組的初始化
一.範例
#include <stdio.h>
void test1(void)
{
int data[5]={1,2,3,4,5};//完全初始化,注意下標不要越界
int data1[5]={1,2,3};//不完全初始化,沒有初始化的元素為0.
//int data2[5]={};嚴重錯誤,至少要寫一個數
int data3[5]={0};//數組清零,此時每個元素都是0
//int data4[];編譯錯誤,沒有初始化則不能省略長度
int i=0,a=0;
for (i=0; i<5; ++i)
{
printf("data[%d]=%d\n", i,data[i]);
}
a=data[4];
printf("a=%d \n",a);
}
void main(void)
{
test1();
}
輸出結果
data[0]=1
data[1]=2
data[2]=3
data[3]=4
data[4]=5
a=5
二。常用法
for(i = 0; i < N; i ++) // 常用法 1
data[i] = 0;
for(i = 0; i < N; i ++) //常用法 3
sum += data[i];
for(i = 0; i < N; i ++) // 常用法 4
scanf("%d", &data[i]);
for(i =0; i < N; i++) // 常用法 5
data1[i] = data2[i];
i = 0; // 常用法 2
while(i < N)
data[i++] = 0;
三。求最大值
#include <stdio.h>
int iMax(int *pData, size_t numData)
{
int max;
size_t i;
max = pData[0];
for(i = 1; i < numData; i++)
{
if(max < pData[i])
{
max = pData[i];
}
}
return max;
}
void main(void)
{
int array[ ] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int n = sizeof(array)/sizeof(array[0]);//重點
printf("%d\n", iMax(array, n));
return 0;
}
輸出
9