一维数组
C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。
所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。C 中的数组
1、数组的定义格式:类型说明符 数组名[数组的大小]
2、类型说明符:基本数据类型
3、数组名:合法的标识符,满足规则和规范
4、数组大小:是一个常量,或者一个字符
5、数组的初始化:数组={存储的数据}
不给数组大小的时候,必须给数组初始化,初始化数据的个数就是数据的大小
只初始化部分数据,那么没有初始化的部分,系统自动默认为0
数组中数据的访问:通过下标来访问,下标可以理解为某个数据的一个编号
下标从0开始
数组的下标表示方法:数组名[数组下标]
数据是占内存的,并且操作系统会给你随机分配内存地址编写
地址:实际是你的内存条上的东西,虚拟出来的一个地址,用来表示这个数据在内存条的哪个位置,地址一般是用数据的十六进制形式表示的
MaxSize(数组能够储存的数据的最大个数)
len(当前数组已经存储了多少个数据)
二维数组
1、定义:类型说明符 数组名[数组大小][数组大小]行,列
2、初始化:{}(没有赋值地方系统自动默认为0)
int arr【2】【9】={
{1,2,3,4,5,6,7,8,9},
{9,8,7,6,5,4,3,2,1}
}
for(int i=0;i<4;i++)
{
for(int j=0;j<3;j++)
{
printf("%d\t",arr【i】【j】)
}
}
三维数组
3、定义:由多个二维数组组成
int arr8[2][4][3]
第一个2表示由几个二维数组组成
游戏:推箱子
字符数组
1.定义:储存字符类型数据的集合
(注:如果用字符串给字符数组初始化,那么不需要{},但是要有双引号)
2.中文也是字符,一个汉字占2个字节
char str3[10]="你好";(√)
char str4="好";(×)(char4仅有一个字节)
3.通过scanf来获取字符时电脑只会读取到"空格"("\0")的位置
同时,gets函数也可用来输入
gets()
puts()
4.数组比较
导入头文件#include<string.h>
(比较时从第一个字符开始比较,若相等继续比较下一个字符,若不相等以此时比较结果为准)
eg.
char str[10]="zaaa";
char str1[10]="aazz";
此时str>str1
比较完后会返回一个结果:
0表示两个字符串相等
>0说明str>str1
<0说明str<str1
strlen:求字符串的有效长度(\0不算有效长度)
sizeof:求类型大小
5.strcat:字符串拼接函数
eg.
char str[10]="aaaa";
char str1[10]="bbbb";
strcat(str,str1); (表示把str1的字符串拼接到str的后面,str就变成了aaaabbbb)
注:拼接时要留足够的空间来储存字符串
6.strcpy:字符串拷贝函数
eg.
char str[10]="abc";
char str1[10]="def";
strcpy(str,str1); (表示把str1的函数拷贝到str中,此时输出str就为"def")
标签:10,数组,初始化,str1,笔记,C语言,char,str From: https://blog.csdn.net/kangll_/article/details/144106748