<强> C提高第一天复习强>
<强>内存四区,变量常量的本质,函数调用模型,栈开口方向,指针铁律,指针是一种数据类型强>
C提高学员标准:写一个标准的冒泡排序
选择法或者冒泡法排序
在一个函数内排序
通过函数调用的方式排序
数组做函数参数的技术盲点和推演,
# include & lt; stdio.h> # include & lt; stdlib.h> # include & lt; string.h> int main () { int 小姐:=,0; int j =, 0; int tmp =, 0; int [],=,{3 66年,54岁,32岁,11日,22日,99年,2334年,32}; for (小姐:=,0;,小姐:& lt;, sizeof (a),/, sizeof (int);,我+ +) { printf (" % d ”,[我]); } printf (" \ n ",[我]); for (小姐:=,0;,小姐:& lt;, sizeof (a),/, sizeof (int);,我+ +) { for (j =, + 1,, j & lt;, sizeof (a),/, sizeof (int);, j + +) { if ([我],祝辞,[j]) { tmp =,(我); [我],=,[j]; 一个[j],=, tmp; } } } for (小姐:=,0;,小姐:& lt;, sizeof (a),/, sizeof (int);,我+ +) { printf (" % d ",[我]); } printf (" \ n ",[我]); 系统(“暂停”); } 编译运行: 3,66,54岁,32岁,11日,22日,99年,2334年,32岁 3,11日,22日,32,32岁,54岁,66,99,2334 请按任意键继续只只。
冒泡程序,优化输出与排序与函数的数组参数问题
# include & lt; stdio.h> # include & lt; stdlib.h> # include & lt; string.h> void printfArray (int []数组,int 兰) { int 我; for (小姐:=,0;,小姐:& lt;, len;,我+ +) { printf (" % d ",阵列[我]); } printf (" \ n ",数组[我]); }//数组做函数的参数的退回问题,退回为一个指针//结论:把数组内存的首地址和有效长度传给被调用的函数//本质:函数中的数组形参,编译器会把它当成指针处理 void sortArray (int []数组,int 兰) { int i, j, tmp; for (小姐:=,0;,小姐:& lt; len;,我+ +) { for (j =,小姐:+,1;,j & lt;, len;, j + +) { if (array[我],祝辞,阵列[j]) { 时间=tmp 数组(我); [我]数组,=,数组[j]; array [j],=, tmp; } } } } int main () { int [],=,{3 66年,54岁,32岁,11日,22日,99年,2334年,32}; int len =, sizeof (a),/, sizeof (int); printfArray (a,, len); sortArray (len); printfArray (a,, len); 系统(“暂停”); } 编译运行: 3,66,54岁,32岁,11日,22日,99年,2334年,32岁 3,11日,22日,32,32岁,54岁,66,99,2334 请按任意键继续只只。
数据类型概念:
”类型”是对数据的抽象,
类型相同的数据有相同的表示形式,存储格式以及相关的操作,
程序中使用的所有数据都必定属于某一种数据类型,
基本数据类型:typedef数组与地址
# include & lt; stdio.h> # include & lt; stdlib.h> # include & lt; string.h> struct 老师1 { char 名称[64]; int 年龄; }老师1;//使用typedef,以后定义就是这样了,Teacher2 t2; typedef struct  teacher2 { char 名称[64]; int 年龄; }Teacher2; int main () { int b [10]; printf (" % d ,, b + 1: % d \ n”,, b,, b +, 1); printf (", b: % d,,, b + 1: % d \ n”,,,,,, b +, 1);//,b 代表数组首元素的地址//,,b代表整个数组的地址//,,b + 1代表跨过整个数组地址 struct teacher1  t1; 时间=Teacher1.age 0; Teacher2 t2; typedef int  u32; printf (" u32 =% d \ n”, sizeof (u32)); 系统(“暂停”); } 编译运行: b: 3603504,, b + 1:3603508 和b: 3603504,, b + 1:3603544 u32 =4 请按任意键继续只只。C提高1内存四区变量本质栈开口方向指针铁律1