数组
一次性声明多个同类型的变量
(1)声明 定义 数组
数据类型 数组名[数组长度];
声明定义一个数组,且相当于声明了 数组长度 个同类型变量
int scores[10];
scores[0] scores[1] scores[2] … scores[9] 这10个int类型变量
“”:(双引号)弱引用,输出引号内所有内容;若其中含有命令(要反引)、变量、特殊转义,会先把变量、命令、转移字符解析出来,然后在输出结果。=>tab;
=>换行反引号:一般用于命令,执行
通过数组声明的变量同名,为了区分这些变量需要通过下标来访问这些变量
访问数组元素:
数组名[下标];
下标:
从0开始到数组长度减1
ir**目录:只能创建一层目录mkdir-p目录1/目录2/目录3…:创建多层目录[root@localhost~]#mkdir-pdata/data2/data3touch:创建文件“>”文件
!!!注意:下标是从0开始,且最大值不能取到数组长度
数组下标不能越界
数组越界访问可能造成逻辑错误 也可以访问错误的数组
最严重的后果是程序崩溃
下标是从0开始且连续,所以很多时候都会结果循环使用
输入10个整数,逆序输出这10个整数
(2) 数组初始化
数组类型 数组名[数组长度];
数组元素全部都是随机值(垃圾值)
中读取数据),所以file3跟着新的file1一起指向新的inode,则file3中原来存储的内容全部没了;但file2文件中的内容不会随着file1的删除和重建而丢失。find:查找路径,find:
数据类型 数组名[数组长度] = {元素,…}; 形式进行初始化
sizeof(数组名[0])二维数组二维的长度(行)sizeof(数组名[0])/sizeof(数组名[0][0])二维数组中的一维长度(列)一、系统管理1.系统基础管理和维护1.1Tab:补全。Ta
(i) 数组长度 和 元素个数正好相等
int arr[5] = {1,2,3,4,5};
(ii) 元素个数 多于 数组长度 编译有警告
int brr[5] = {1,2,3,4,5,6,7,8}
(iii) 元素个数 小于 数组长度 后面初始化为0
int crr[5] = {1,2};
数据类型 数组名[数组长度] = {"零"};
(iv) 元素个数为0 但是有 {}
全部初始化为0 不建议使用
(v) 不指定数组长度 必须进行初始化 数组长度由初始化元素的个数决定
int err[] = {元素,...};
(o) 指定初始化 没有指定的元素初始化为0
int frr[10] = {[2]=1,[5]=2,[9]=10};
(3)数组的使用
当数组定义之后 不可以直接使用数组进行访问数组元素 或者 对数组元素进行赋值操作 只能通过下标
每一个下标对应一个元素
注意不能直接对数组名 进行 整体赋值操作 !!!!
!!!!数组名是右值
件名或目录名“…”:表示上一级目录“.”:表示当前目录“;”:表示多条命令的分割【`】:反撇号,把内容还原成命令“*”:匹配所有。  
int i=0;
for(i=0;i
数组名[i];
}
可变长数组
户命令passwd:更改密码[root@localhost~]#whoamiroot[root@localhost~]#who-mrootpts/02019-07-2516:41(192.168.13
数据类型 数组名[变量];
int n = 0;
scanf("%d",&n);
int arr[n];
注意: 可变长数组不能直接初始化 不能 = {}这种形式初始化
必须用循环的形式进行初始化
for(i=0;i
arr[i] = 0;
}
一维数组
件名)[root@localhost~]#filecp_testcp_test:empty//cp_test文件为空lnfile1file2:给file1创建了一个硬链接ln-sfile1fil
二维数组
(1)声明定义
数据类型 数组名[二维长度][一维长度];
相当于总共声明了 f二维长度*一维长度 个变量
int arr[4,7];//错误的
int arr[4][7];
个维度的下标下标的取值都是从0开始到数组长度-1intarr[4][7];arr[0-3][0-6](3)二维数组初始化数据类型数组名[二维长度][一维长度];数组里的元素都是随机值(垃圾值)(
(2)二维数组元素
下标确定唯一元素
需要两个维度的下标 下标的取值 都是从0开始到数组长度-1
输出都放在同一文件中:(两种方法)(1)(2)标准输出和错误输出都放在不同文件中:扩展:(1)$?:判断上一条命令执行是否成功。若成功,返回0;若失败,返回非零。(2)判断网络是否连通:(3)扩展:脚
int arr[4][7];
arr[0-3][0-6]
(3)二维数组初始化
数据类型 数组名[二维长度][一维长度]; 数组里的元素都是随机值(垃圾值)
式化的一个和内存格式相同的分区buff:数据读的缓存空间cache:数据写的缓存空间(7)系统管理命令uptime:查看CPU利用率 &nbs
(i)
={{1,2,3},{4,5,6},{7,8,9},...}
={{1,2,3}}
={{0}}
={0}
={1,2,3,....}
={[i][j]=x,...}
遍历数组元素
unt:存储管理;i_link:链接管理 图片表示刚开始创建三个文件:file1,file2,file3和一个文本文档,它们都连接指向一个inode_1(
int i=0,j=0;
for(i=0;i
for(j=0;j
arr[i][j];
}
}
sizeof
sizeof(数组名) 求得数据所占内存大小 单位字节
sizeof(数组名)/sizeof(数组名[0]) 求得数组长度
数组进行访问数组元素或者对数组元素进行赋值操作只能通过下标每一个下标对应一个元素注意不能直接对数组名进行整体赋值操作!!!!!!!!数组名是右值inti=0;for(i=0;i
二维数组
sizeof(数组名)/sizeof(数组名[0]) 二维数组二维的长度(行)
sizeof(数组名[0])/sizeof(数组名[0][0]) 二维数组中的一维长度(列)