文 彦 考 研
让 | 梦想 | 有迹可循
简介
门学长:华中师范大学硕士,初试专业课135+,专业课初试总成绩以380+,排名前三的成绩考入华中师范计算机,曾辅导5人,其中4人被录取,熟悉出题方向和院内导师。
在C语言中我们经常用到数组,这其中有很多我们需要了解并且注意的地方。数组的灵活使用至关重要,学长在这里帮同学们总结了关于数组的知识点。赶紧收藏~
这里我们详细说明一维数组和二维数组的相关知识以及使用。
01
一维数组
1. 一维数组的创建
数组是一组相同类型元素的集合。数组的创建方式:type_t arr_name [const_n];(type_t 是指数组的元素类型 const_n 是一个常量表达式,用来指定数组的大小)
例如:int arr[100];或者 char arr[100]等,但像
int count = 10;int arr[count];
这样的数组是无法正常创建的,所以在这里需要注意的一点是数组创建, []中要给一个常量才可以,不能使用变量。
2. 一维数组初始化
数组的初始化是指,在创建数组的同时给数组的内容一些合理初始值(初始化)。
例如:int arr1[10] = {1,2,3};(数组中有10个元素,前三个元素初始化为1,2,3 后面剩下的7个元素全部默认为0)
int arr2[] = {1,2,3,4};(数组中有多少个元素由初始化的内容决定,数组中有4个元素)
int arr3[3] ={1,2,3};
char arr4[3]={'a',98, 'c'};
char arr5[] = {'a','b','c'};
char arr6[] = "abcdef";数组在创建的时候如果想不指定数组的确定的大小就得初始化。
数组的元素个数根据初始化的内容来确定。对于下面的代码要进行区分char arr1[] ="abcd";(数组中存放的是'a' 'b' 'c' 'd' '\0' )
char arr2[4] = {'a','b','c','d'};(数组中存放的是'a' 'b' 'c' 'd')
char*p="abcdef";(p中存放的是字符'a'的地址)
3. 一维数组的使用
对于数组的使用我们之前学到过一个操作符:[],下标引用操作符。它其实就是数组访问的操作符。
[]需要接收两个操作符就是数组名和下标。在数组的使用当中需要注意的两点是数组是使用下标来访问的,下标是从0开始。
数组的大小可以通过计算得到。
例如:
int arr[5]; int sz = sizeof(arr)/sizeof(arr[0]);
(其中sizeof的作用就是返回一个对象或者类型所占的内存字节数)
一维数组在内存中的存储
看一段代码
int main()
{
int arr[5] = {0};
int i = 0;
for(i = 0;