目录
一维数组的创建
- 数组的定义:数组是一组相同类型元素的集合
- 创建方式:元素类型 数组名 [数组的大小(常量表达式)]
- 如果int arr[变量]要能够使用,必须要C99语法支持变长数组才可以。C99中引入了变长数组的概念,允许数组的大小用变量来指定,如果编译器不支持C99中的变长数组,那就不能使用
一维数组的初始化
- 初始化:在创建数组的同时给数组的内容一些初始值
- 完全初始化:数组的内存空间全部填满了。比如 int arr[4]={1,2,3,4};
- 不完全初始化:没全部填满,则自动补0(字符数组则补\0)。比如 int arr[4]={1,2}
- 特殊的数组:int arr[]={1,2,3,4},此时[]根据初始化的内容自动确定元素个数
字符数组的初始化:
- char ch1[5]={‘s’,’b’};//s b \0 \0 \0
- char ch2[]={‘s’,’b’};//s b
- char ch3[5]=”sb”;//s b \0 \0 \0
- char ch4[]=”sb”;//s b \0
- char ch5[]=”sb”;//s b \0
- char ch6[]={‘s’,’b’};//s b
一维数组的使用
- []是下标引用操作符,它是数组访问的操作符。
- 数组是使用下标来访问的,下标是从0开始的。
- 数组的元素个数可以通过sizeof()计算得出,只需要求出数组所占内存/数组中一个元素所占内存,得到结果即为元素个数
一维数组在内存中的存储
#include <stdio.h> int main() { int arr[10] = {0}; int i = 0; int sz = sizeof(arr)/sizeof(arr[0]);//求数组元素个数 for(i=0; i<sz; ++i) { printf("&arr[%d] = %p\n", i, &arr[i]);//%p -是按地址的格式打印 -十六进制的打印 } return 0; }