1、数组的定义和使用
格式:
数据类型 数组名[元素个数]
元素个数,代表该数组有多少个相同数据类型的变量
下标 用来表示数组中的某一个元素   例如 int arr[10]; arr[1]代表数组的第二个元素
数组下标是从0开始的 到数组元素个数-1
数组下标越界:超出了数组元素个数的下标,如果操作越界数据会出现程序错误 1、乱码结果 2、报错
数组名是一个地址的常量,代表数组中首元素的地址
(局部数组若不初始化,内容为随机值)
 
求出数组元素个数:
int (size_t) unsigned int 个数  = sizeof(数组名)/sizeof(数组元素 | 数组数据类型) 
 
 
求出数组地址
printf("%p\n",数组名)
printf("%p\n",数组元素)
数组元素+1 (sizeof(数据类型))
数组名+1(sizeof(数组名))
打印变量的内存地址,是以无符号十六进制格式打印,打印时需要在变量前加上【&】
 
数组初始化与定义:
(1),像变量赋值一样为数组的元素依次赋值
(2),如果赋值时括号中依次为数组前面的元素赋值,如果数组长度超过元素个数,后面的值全部初始化为0
 
冒泡排序法:
内循环的目的是比较相邻的元素,把大的放后面
 
 
二维数组:
格式:数据类型 数组名【行个数】【列个数】
命名规则和一维数组一样
二维数组的初始化:
分段赋值,连续赋值,可以只给部分元素赋值,所有的成员都设置成0,[]中不定义元素的个数 定义时必须初始化
 
求行数:sizeof(数组名)/sizeof(数组名[0]);
求列数:sizeof(数组名[0])/sizeoef(数组名[0][0])
 
二维数组首地址表示方式:
printf("%p\n",数组名)
二维数组的第0个元素为一维数组  
字符数组和字符串:
char的数组代替字符串
字符串一定是一个char的数组,但char的数组不一定时字符串
字符数组和字符串区别在于是否有字符串结束标志
字符串的初始化:
char buf[]={}// 不指定长度,没有0结束符,有多少个元素就有多长
char buf2[100] ={}//指定长度,后面没有赋值的元素,自动补0
char buf8[ ]=“cahvbeahcw”//使用字符串初始化,编译器自动在后面补0
‘\0’后面最好不要连着数字,有可能几个数字连起来刚好是一个转义字符
数字0(字符‘\0’等价)结尾的char数组是一个字符串,但如果char数组没有以数字0结尾,那么就不是一个字符串 
 
posted on 2019-04-12 20:51  zj8970  阅读(93)  评论(0编辑  收藏  举报