看鹏哥C语言整理笔记习题看文章目录一、数组的概念二、一维数组1.创建2.初始化3.在内存的存储4.数组元素个数的计算size of5.类型三、二维数组1.创建2.初始化3.输入和输出4.变长数组5.行和列数四、冒泡排序一、数组的概念二、一维数组1.创建2.初始化charch1[10]{a,b,c};a b c0000000charch2[10]{abc};a b c \0000000charch3[]{a,b,c};a b ccharch4[]{abc};a b c \0注意char ch2[3]{“abc”};printf(“%s”, …) 会从 ch2[0] 开始读取字符直到遇到 ‘\0’ 才停止intarr1[10]{1,2,3};1230000000intarr2[10]{0,1,2,3,4,5,6,7,8,9};0123456789intarr3[]{1,2,3};1233.在内存的存储4.数组元素个数的计算size of5.类型intarr[10]{0};int[10]是数组类型三、二维数组1.创建2.初始化intarr1[3][4]{1,2,3,4,5,6,7,8,1,2,3,4};123456781234intarr2[3][4]{1,2,3,4,5,6,7,8,1,2};123456781200intarr3[3][4]{{1,2},{3,4},{5,6}};120034005600intarr[][4]{1,2,3,4,5,6};{{1,2,3,4},{5,6}};123456003.输入和输出4.变长数组5.行和列数intarr[3][4]{0};4816printf(%d,sizeof(arr)/sizeof(arr[0]));行数164printf(%d,sizeof(arr[0])/sizeof(arr[0][0]));列数四、冒泡排序两相邻元素比较一趟让数据到最终位置上n个元素需要n-1趟形参是指针的形式voidbubble_sort(int*arr,intsz)voidbubble_sort(intarr[],intsz){//趟数for(inti0;isz-1;i){//一趟冒泡排序交换对数for(intj0;jsz-1-i;j){if(arr[j]arr[j1]){inttmparr[j];arr[j]arr[j1];arr[j1]tmp;}}}}intmain(){//数组//把数组的数据排成升序intarr[]{9,8,7,6,5,4,3,2,1,0};//0 1 2 3 4 5 6 7 8 9intszsizeof(arr)/sizeof(arr[0]);//冒泡排序的算法对数组进行排序bubble_sort(arr,sz);inti0;for(i0;isz;i){printf(%d ,arr[i]);}return0;}//数组名确实能表示首元素的地址//但是有2个例外//1. sizeof(数组名)这里的数组名表示整个数组计算的是整个数组的大小单位是字节//2. 数组名这里的数组名表示整个数组取出的是整个数组的地址intmain(){intarr[10]{0};printf(%p\n,arr);//arr就是首元素的地址//00000062783ffc00printf(%p\n,arr1);// printf(----------------------\n);printf(%p\n,arr[0]);//首元素的地址//00000062783ffc00printf(%p\n,arr[0]1);// printf(----------------------\n);printf(%p\n,arr);//数组的地址printf(%p\n,arr1);// //int n sizeof(arr);//40// //printf(%d\n, n);//return0;}//二维数组的数组名的理解//int main()//{// int arr[3][4] {0};//// printf(%d\n, sizeof(arr) / sizeof(arr[0]));// printf(%d\n, sizeof(arr[0]) / sizeof(arr[0][0]));//int sz sizeof(arr);//printf(%d\n, sz);//printf(%p\n, arr);//二维数组的数组名也表示数组首元素的地址//printf(%p\n, arr1);// return 0;//}