1.一维数组的创建和初始化
int main()
{// int arr1[10];int n = 0;scanf("%d",&n);//int count = 10;int arr2[n]; //局部的变量,这些局部的变量或者数组是存放在栈区的,存放在栈区上的数组,如果不初始化的话,默认是随机值// VS2019 VS2022 这样的IDE 不支持C99种的变长数组//C99 标准之前,数组的大小只能是常量表达式//C99 标准中引入了:变长数组的概念,使得数组在创建的时候可以使用变量,但是这样的数组不能初始化int i = 0;for(i=0;i<n;i++){printf("%d\n", arr2[i]);}// char arr3[10];// float arrt[10];// double arr5[20];return 0;
}//数组的初始化
//数组的初始化上指,在创建数组的同时给数组的内容一些合理初始值(初始化)
int main()
{// int arr1[10] = {1,2,3,4,5,6,7,8,9,10}; //完全初始化// int arr2[10] = {1,2,3}; //不完全初始化// int arr4[10] = {0};//不完全初始化,剩余的元素默认都是0// int arr3[] = {}; //省略数组大小,数组必须初始化,数组的大小上根据初始化内容来定的// int arr5[] = {1,2,3};// //int arr6[]; //errchar arr[] = "abc"; // a b c \0char arr2[] = {'a','b','c'}; // a b c char arr3[] = {'a',98,'c'}; // a 98=b creturn 0;
}
2.一维数组的使用
int main()
{int arr[10] = {1,2,3,4,5,6,7,8,9,10};// 0,1,2,3,4,5,6,7,8,9//printf("%d\n",arr[5]); //[]下标引用操作符//printf("%d\n",arr[0]); //[]下标引用操作符int i = 0;int sz = sizeof(arr) / sizeof(arr[0]); //计算数组大小for(i = 0;i<sz;i++){scanf("%d",&arr[i]);}for(i = 0;i<sz;i++)//for(i=0;i < sz;i += 2)//for(i = sz; i>=0; i--){printf("%d\n",arr[i]);}return 0;
}int main()
{int arr[10] = {}; //10 * 4printf("%d\n",sizeof(arr)); //40-计算的是数组的总大小,单位是字节printf("%d\n",sizeof(arr[0])); //4int sz = sizeof(arr) / sizeof(arr[0]); //计算数组元素个数的方法printf("%d\n",sz);return 0;
}
3.一维数组在内存中的存储
//一维数组在内存中存储
int main()
{int arr[10] = {1,2,3,4,5};int sz = sizeof(arr) / sizeof(arr[0]);int i =0;for(i = 0;i < sz;i++){printf("&arr[%d] = %p\n",i,&arr[i]);}return 0;
}
4.二维数组的创建和初始化
5.二维数组的使用
6.二维数组在内存中的存储
7.数组越界
8.数组作为函数参数