这篇博客开始对C语言中数组的学习,数组1.0!gogogo!
-
数组
数组的定义就是一组相同元素的集合,在创建数组时括号内必须是常量表达式[]中是不能放入变量的,eg:int/char/double arr [10] -
数组的初始化
int arr [10] = {1,2,3}; >>不完全初始化,剩下的元素都为零。
char arr2 [5] = {“a”,“b”}; >>内存中只有两个字符a和b
char arr3 [5] = “ab”; >>内存中有三个值a,b,\0
char arr4 [] = “abcdef”; >>系统会自动分配空间
这里有个相似的两个东西可以说一下,他们虽然相似但二者并没有什么联系:sizeof 和 strlen()
操作符>>sizeof 计算数组所占空间大小
库函数>>strlen (需要引用头文件)计算字符串的长度>>> \0之前字符个数
【】>>>下标引用操作符 数组访问操作符 -
二维数组
int arr [3][4] ; //三行四列
初始化
int arr [3][4] = {1,2,3,4,5} >> 1234/5000/0000
int arr [3][4] = { {1,2,3},{4,5}} >> 1230/4500/0000
如果想把【】【】中的值省略只能省略行!不能省略列! -
冒泡排序
先把冒泡排序的函数部分写下来,可以供我以后反复观看,加深记忆
void bubble_sort (int arr[] , int sz)
{
int i = 0 ;
for(i=0;i<sz-1;i++)
{
int flag = 1;
int j = 0;
for (j=0;j<sz-1-i;j++)
{
if(arr[j]>arr[j+1])
{
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1]=tmp;
flag = 0 ;
}
if(flag==1)
{
break;
}
}
}
} -
数组名就是首元素地址!!!即int arr[] = {1,2,3,4,5,6,7}
得到 arr=&arr[0]是相等的, *arr = 1
但有两个例外!sizeof(数组名)>>>计算的是整个数组的大小,单位字节
&数组名,代表的整个数组,取出的是整个数组的地址 -
小笔记
1.%c >>> 打印数组
2.%p >>> 打印地址
3.10进制 0-9
4.16进制 0-9 a b c d e f
5.if语句不能用break,break只能用于跳出循环