一、一维数组
1.无初始值
int arr[100];
其中int表示整形,arr是数组的名字,[100]表示这是一个有100个int型变量的数组。即,内存为该数组分配了400个字节的空间。
2.赋予初始值
int arr[5] = {1,2,3,4,5};
int arr[5] = {1,2,3,4,5};
int arr[5] = {1,2,3,4,5};
其等同于
int arr[5];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
int arr[5];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
3.声明一维数组清零并访问
int main(int argc, char *argv[])
for (int a = 0; a < 10; a++)
for (int i = 0; i < len; i++)
printf("index %d,and value is %d\n", i, arr[i]);
#include <stdio.h>
int main(int argc, char *argv[])
{
int len = 10;
int arr[10];
for (int a = 0; a < 10; a++)
{
arr[a] = 0;
}
for (int i = 0; i < len; i++)
{
printf("index %d,and value is %d\n", i, arr[i]);
}
return 0;
}
#include <stdio.h>
int main(int argc, char *argv[])
{
int len = 10;
int arr[10];
for (int a = 0; a < 10; a++)
{
arr[a] = 0;
}
for (int i = 0; i < len; i++)
{
printf("index %d,and value is %d\n", i, arr[i]);
}
return 0;
}
二、二维数组
声明二维数组,清零并访问。
int main(int argc, char *argv[])
for (int i = 0; i < 3; i++)
for (int j = 0; j < 4; j++)
for (int i = 0; i < 3; i++)
for (int j = 0; j < 4; j++)
printf("index(%d,%d),%d\n",i,j,arr[i][j]);
#include <stdio.h>
int main(int argc, char *argv[])
{
int arr[3][4];
//clear arr
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
arr[i][j] = 0;
}
}
//access arr
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
printf("index(%d,%d),%d\n",i,j,arr[i][j]);
}
}
return 0;
}
#include <stdio.h>
int main(int argc, char *argv[])
{
int arr[3][4];
//clear arr
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
arr[i][j] = 0;
}
}
//access arr
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
printf("index(%d,%d),%d\n",i,j,arr[i][j]);
}
}
return 0;
}
声明二维数组并赋初始值。
int arr[3][4] =
{
{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
};
int arr[3][4] =
{
{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
};
三、字符数组
char arr[] = "gudako";
其等同于
char arr[] = { 'g','u','d','a','k','o','\0'};
char arr[] = { 'g','u','d','a','k','o','\0'};
char arr[] = { 'g','u','d','a','k','o','\0'};
表示内存为该数组分配了7个字节的空间。