2026/10/4 3:47:45

C语言进阶--回顾(05)

C语言进阶--回顾(05) 第五篇目录4.6冒泡排序4.7数组指针变量4.8二维数组传参和指针4.9指针数组4.10指针数组模拟二维数组4.6冒泡排序代码如下a先进入一个外循环使其保证进行数组元素-1次的循环排序b内循环1对于每对相邻的两个元素若发现前比后大则使他们调换降序排列2由于每次循环后可以让一个元素走到指定的位置所以每次循环后循环次数为sz-1-i降低冗余查找或者可以使用一个标志flagsz-1再内循环每次执行完之前--for循环写成jflag;或者如下4.7数组指针变量4.8a上图中两种方式的差别是一个指向整个数组的地址一个仅仅指向第一个元素地址b改变指针指向数组得到元素个数就能按想法调用一定数量的元素但是不能超出数组元素个数否则越界4.8二维数组传参和指针a可以发现上面的代码传参时传入数组名二维数组的行数列数在函数接受时写出调用每一行的元素个数b外循环进行行打印内进行列打印c打印的内层括号通过二维数组跳过一个元素即一行的方式决定在哪行打印d外层括号与里面相似e注意创造数组指针变量的时候要传入一致的下标f再看以下gptr1:跳过整个二维数组ptr2:跳过一个二维数组的元素一个一维数组4.9指针数组4.10指针数组模拟二维数组a结论类似二维数组指针bpa指向a的首元素地址得到第二个元素地址所以打印后得到字符串数组的第二个元素即第二个字符串