1.数组的3种定义方式
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void test()
{
int score1[4];
score1[0] = 100;
score1[1] = 99;
score1[2] = 80;
for (int i = 0; i < sizeof(score1)/sizeof(score1[0]); i++)
{
printf("%d\n", score1[i]);
}
int score2[4] = { 100,56,99,90 };
for (int i = 0; i < sizeof(score2) / sizeof(score1[0]); i++)
{
printf("%d\n", score2[i]);
}
int score3[] = { 100,88,99,90 };
for (int i = 0; i < sizeof(score3) / sizeof(score1[0]); i++)
{
printf("%d\n", score3[i]);
}
}
int main()
{
test();
system("pause");
return 0;
}
2.数组名的用途
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void test()
{
int arr[4] = {1,2,3,4};
printf("数组arr占用空间大小=%d\n", sizeof(arr));
printf("arr[0]占用空间大小=%d\n", sizeof(arr[0]));
printf("arr数组长度=%d\n", sizeof(arr) / sizeof(arr[0]));
printf("arr数组首地址:%d\n", arr);
printf("arr[0]地址:%d\n", &arr[0]);
}
int main()
{
test();
system("pause");
return 0;
}
3.定义二维数组
void test()
{
//定义二维数组
//方式1:
int arr1[2][3]
arr1[0][0] = 1
arr1[0][1] = 2
arr1[0][2] = 3
arr1[1][0] = 4
arr1[1][1] = 5
arr1[1][2] = 6
//遍历数组
for (int i = 0
{
for (int j = 0
{
printf("%d,", arr1[i][j])
}
printf("\n")
}
//定义方式2:
int arr2[2][3] =
{
{1,2,3},
{4,5,6},
}
for (int i = 0
{
for (int j = 0
{
printf("%d,", arr2[i][j])
}
printf("\n")
}
//定义方式3:
int arr3[2][3] = {1,2,3,4,5,6}
}
int main()
{
test()
system("pause")
return 0
}
4.二维数组名的用途
printf("sizeof arr = %d\n", sizeof(arr1));
printf("sizeof arr[0] = %d\n", sizeof(arr1[0]));
printf("二维数组的行数:%d\n", sizeof(arr1) / sizeof(arr1[0]));
printf("二维数组的列数:%d\n", sizeof(arr1[0]) / sizeof(arr1[0][0]));
for (int i = 0; i < sizeof(arr1) / sizeof(arr1[0]); i++)
{
for (int j = 0; j < sizeof(arr1[0]) / sizeof(arr1[0][0]); j++)
{
printf("%d,", arr1[i][j]);
}
printf("\n");
}
printf("二维数组的首地址为:%d\n", arr1);
printf("二维数组第二行首地址:%d\n", arr1[1]);
printf("元素地址:%d\n",&arr1[1][1]);