学习也快两个月了,下面是自己的笔记本上一些小知识点的回顾: 1. 编译过程: a) 预处理:gcc -E xxx.c -o xxx.i 宏定义展开、头文件展开、条件编译等,同时删除代码中的注释,不做语法检查; b) 编译:gcc -S xxx.i -o xxx.s 将代码转换成汇编语言,进行语法检查。 c) 汇编:gcc -c xxx.s -o xxx.o 将汇编文件生成目标文件(二进制文件)。 d) 链接:gcc xxx.o -o xxx 把库链接到最终的可执行程序中去。 2. 数字的录入 3. 排序方法 a) 冒泡排序: int i,j,tmp; for(i=0;i<n-1;i++) { for (j=0;j<n-i-1;j++) { if(a[j]>a[j+1]) { tmp = a[j]; a[j] = a[j+1]; a[j+1] = tmp; } · } } b) 选择排序; inti,j,k,tmp; for(i=0;i<n;i++) { k= i; for(j=i+1;j<n;j++) { if(a[k]>a[j]) { tmp = a[k]; a[k]= a[j]; a[j]= tmp; } } } c) 插入排序 int i, j,temp; for(i = 1; i< n; i++) { temp = a; for(j = i-1; j >= 0 && a[j]> temp; j--) { a[j+1] = a[j];//将前面的值往后移 } a[j+1] = temp; //插在a[j]的后面 } 4. 概念区分 a) 指针数组:他是数组,每个元素都为指针类型。 int *a[10]; b) 数字指针:他是指针,指向数组的指针。 int *(a[10]); c)指针函数:他是一个返回值为指针的函数 int*func(); c) 函数指针:他是指针,指向函数的入口地址 5. 未完待续
|