C03_C语言-数组
来源:互联网 发布:易企秀 java 面试 编辑:程序博客网 时间:2024/05/29 07:20
1.声明和初始化
/*不建议的声明及创建方法*/int lt = 3;int nums[lt];nums[0] = 98;nums[1] = 43;printf("%d, %d\n", sizeof(nums)/sizeof(int), nums[2]);//尽管声明及创建都未报错,但未初始化的位置的值不是理想值//int numss[lt] = {4, 3, 5};//错误的声明及创建,指定长度只能用常量/* 声明并初始化数组 - 1 */int nums1[3];nums1[0] = 34;nums1[1] = 46;nums1[2] = 97;printf("nums1长度:%d\n", sizeof(nums1)/sizeof(int));/* 声明并初始化数组 - 2 */int nums2[3] = {34, 46, 97};printf("nums2长度:%d\n", sizeof(nums2)/sizeof(int));/* 声明并初始化数组 - 3 */ //如果这里没有初始化,是错误的int nums3[] = {34, 46, 97, 44};//长度为初始化的元素个数printf("nums3长度:%d\n", sizeof(nums3)/sizeof(int));/* 声明并初始化数组 - 4 */int nums4[3] = {[2] = 97};//未指定的默认初始化为0printf("nums4长度:%d\n", sizeof(nums4)/sizeof(int));/* 声明并初始化数组 - 5 */int nums5[] = {[2] = 97};//未指定的默认初始化为0printf("nums5长度:%d\n", sizeof(nums5)/sizeof(int));
2.数组作为函数参数
//参数类型为整型数值void intChange(int arg){arg = 9090;}int main() {int array[] = {3,4,4,5};arrChange(array);//实参,数组名代表地址printf("%d \n", array[1]);//99intChange(array[1]);//形参,不影响原始数据printf("%d \n", array[1]);//99}
3.排序和倒序
//这里的实参arr实际是指针,长度固定为8,不能通过它获取数组长度void show(int arr[], int length){int i;for(i=0; i<length; i++){printf("%d\t", arr[i]);}printf("\n");}int main() {int array[] = {3,8,4,5};int i, j, temp=array[0];for(i=1; i< sizeof(array)/sizeof(int); i++){if(array[i]>temp){temp = array[i];}}printf("最大值:%d\n", temp);//排列//外围:控制操作值的个数for(i=0; i< sizeof(array)/sizeof(int)-1; i++){//内部:排除操作结束的值for(j=0; i< sizeof(array)/sizeof(int)-1-j; j++){//换位条件if(array[j] < array[j+1]){temp = array[j];array[j] = array[j+1];array[j+1]= temp;}}}show(array, sizeof(array)/sizeof(int));//倒序//外围:控制操作值的个数for(i=0; i< sizeof(array)/sizeof(int)-1; i++){//内部:排除操作结束的值for(j=0; i< sizeof(array)/sizeof(int)-1-j; j++){temp = array[j];array[j] = array[j+1];array[j+1]= temp;}}show(array, sizeof(array)/sizeof(int));}
4.二维数组
//根数组可以不指定,子数组必须指定int arr[][5] = {{3, 8, 4, 5},//初始化如同一维数组{13, 22, 45, 5},{43, 3, 21, [4] = 56},{[1] = 38, 4, 9, 7}};printf("%d\n", arr[2][4]);//56printf("%d\n", arr[3][4]);//7
- end
0 0
- C03_C语言-数组
- C语言,数组,数组名,数组地址
- Q 语言 -- 数组
- java语言数组笔记
- C语言动态数组
- C语言的数组
- c语言 数组 指针
- c语言数组详解
- C语言字符数组
- C语言--指针,数组
- C语言变长数组
- C语言数组
- C语言数组
- 【C语言】数组--待续
- C语言数组
- C语言 数组拆分
- c语言 动态数组
- C语言数组
- 第八周项目1-2利用友元函数实现运算符重载
- 找出无序数组中最小的前k个数
- [Java][MAT] Shallow Heap大小计算释疑
- 已知各个通道的信号的协方差矩阵(covariance matrix), 模拟各个通道的噪声信号
- mysql 数据库查询最后两条数据
- C03_C语言-数组
- NSTimer
- myBatils学习二更新数据
- 第八周项目1-3
- 2014编程之美初赛第二场
- 文本索引与检索
- Linux GCC常用命令
- OpenGL学习记录6
- 第七周项目1-深复制体验