一、数组
1、什么是数组?
①看名字就能想的到因该是一些数然后组成的一组,所以叫数组,也就是存放多个元素的一个组
2、什么情况下要使用数组?
②在遇到要存多个相同元素的时候可以用到,注意是相同的元素,这个是数组的特点存的是相同的元素
3、数组怎么定义?(一维数组)
③类型 标识符[大小];
(1)类型:一个数据类型
(2)标识符:符合标识符命名规则和规范
(3)大小:必须是一个常量,而且大于0
那么这样定义完一个数组之后:比如int arr[10];那么这个数组arr就能存10个int类型的值
4、数组怎么使用?
①通过数组名+下标进行访问比如 arr[2];表示访问的数组里面下标为2的元素
②在通过①这种方式去访问的时候,下标不能越界访问,下标是从0开始的,所以对于一个大小为n的数组,那么他的下标是0~n-1
所以定义了一个数组 int arr[10];那么就可以 arr[0]=1,arr[2]=2;这样去存值,下标最大到9,能存10个
5、数组的初始化
①int arr[10]={1,2,3,4,5,6,7,8,9,0};这样去写,那么里面的值就会从0开始放入数组,arr[0]就是1,arr[1]就是2,后面的以此类推
②那么就可能出现这种情况 int arr[10]={1,2,3};前面的1,2,3还是按①的方法去想,那么就还有一部份没有值,他们会被初始化为0
6、二位数组
①二位数组把他理解为有行和列的东西,从0行0列开始
②定义:int arr[行大小][列大小];行和列就看有多少行和列,行*列就是能存的元素个数,访问也和一维数组一样arr[行下标][列下标]
③在使用的时候就把这个元素想象成行列的一个组成,写这个元素在这个数组的多少行和多少列就可以了
④初始化,为了好理解,int arr[3][4]={1,2,3,4,
5,6,7,8,
9,10,11,12};
写成这种形式,那就3行4列,要访问里面的元素7,那就是arr[1][2];应为7所在1行2列的位子,行列都是从0开始数的,没赋值的地方还是0
7、更多维的数组就步讨论了,一般用不到
二、字符串
1、什么是字符串?
①在c/c++中,通过"aaaa"形式表现出来的就是一个字符串,也可以理解为多个字符组成的,但是写法是前面的写法
2、字符数组
①字符数组,就是用来存字符串的,但实际是存了多个字符
②定义char arr[10]="asdf";这样写表示定义了一个字符数组,大小为10,存了4个字符,但是4个字符组成了一个字符串
也可以写成char arr[10]={'a','s','d','f'};和上面是一个道理
3、字符数组需要注意的地方
①在字符串的末尾都有一个'\0',所以在定义数组来存的时候要注意
②中文汉字在C语言中,通常是占2个字节
③字符串的有效长度不包括'\0',但是在定义数组来存的时候要包括它
④'\0',如果是上面的写法,可以不用自己加,都是默认初始化有的,在没有初始化自己赋值的时候就需要加上去
⑤对于字符串的处理函数,下去查查文档就好了,比如strlen,strcpy等等
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!