温故而知新_C语言_define_宏】的更多相关文章

                                                                                         define define是C语言的预处理,作用是宏定义. 所谓宏,是将一些命令组织在一起,作为一个单独命令完成一个特定任务. 预处理命令以“#”号开头,如包含命令#include,宏定义命令#define等. 一般都放在源文件的前面,它们称为预处理部分. 所谓预处理是指在进行编译之前所作的工作. 在进行编译C语言源程序…
递归. 是的,差不多就是这种感觉.上面就是类似递归的显示表现. 2017 10 24更新: 递归这个问题放了很久.也没有写.大概是自己还没有好好理解吧. 在这里写下自己理解的全部. 一 何为递归. 字面意义,分开看. 有传递.有回归.或者归还. 浅显的理解就是调用自己. 那么递归可以调用自己,肯定是有一些约束的条件. 不然就会无限次的调用自己.这个很好理解吧?  说一个小示例来讲解一下何为递归. 一个房子里面有一个男人在玩着一个房子模型,房子模型里面还有一个房子,房子里面有一个男人,男人在玩着一…
前缀++(--)和后缀++(++)是有区别的. 再单独使用的时候是没有区别的,都是自身递增或者递减1. 但是综合使用起来会一样吗? 下面的例子都是++,替换成--也是一样,道理都是一样的. 请先看下面例子: #include<stdio.h> int main(void) { ,b=; a++; //后缀++ ++b; //前缀++ printf("a++ is %d\n",a ); printf(" ++b is %d",b ); } 出来的结果都是1…
各位朋友,如果您觉得下载的电子书,看的还可以,请购买纸质版的图书,如果您觉得 您下载的书,不值得一看请在下载后直接删除. Windows汇编:http://dl.vmall.com/c0jk1v970a 计算机_Thunderbird.pdf:http://dl.vmall.com/c0law8h3tz 计算机_C语言核心技术_中文版.pdf:http://dl.vmall.com/c0ntj98jx6 计算机_C语言程序设计_现代方法_中.pdf:http://dl.vmall.com/c0a…
C语言中宏定义(#define)时do{}while(0)的价值 最近在新公司的代码中发现到处用到do{...}while(0),google了一下,发现Stack Overflow上早有很多讨论,总结了一下讨论,加上自己的理解,do{...}while(0)的价值主要体现在: 1. 增加代码的适应性 下面的宏定义没有使用do{...}while(0) #define FOO(x) foo(x); bar(x); 这样宏定义,单独调用不会出现问题,例如: FOO(100) 宏扩展后变成: 1 f…
宏定义和定义全局变量的区别: 1 作用时间不同. 宏定义在编译期间即会使用并替换,而全局变量要到运行时才可以. 2 本质类型不同. 宏定义的只是一段字符,在编译的时候被替换到引用的位置.在运行中是没有宏定义的概念的.而变量在运行时要为其分配内存. 3 宏定义不可以被赋值,即其值一旦定义不可修改,而变量在运行过程中可以被修改. 4 宏定义只有在定义所在文件,或引用所在文件的其它文件中使用. 而全局变量可以在工程所有文件中使用,只要再使用前加一个声明就可以了.换句话说,宏定义不支持extern. 在…
选择排序_C语言_数组 #include <stdio.h> void select_sort(int *); int main(int argc, const char * argv[]) { //初始化数组 int a[10] = {1, 6, 8, 9, 3, 2, 4, 5, 7, 0}; //乱序 printf("乱序\n"); for (int i = 0; i < 10; i ++ ) { printf("%d ",a[i]); }…
插入排序_C语言_数组 #include <stdio.h> void insertSort(int *); int main(int argc, const char * argv[]) { //初始化数组 int a[10] = {1, 6, 8, 9, 3, 2, 4, 5, 7, 0}; //乱序 printf("乱序\n"); for (int i = 0; i < 10; i ++ ) { printf("%d ",a[i]); } p…
快速排序_C语言_数组 #include <stdio.h> void quickSort(int *, int, int); int searchPos(int *, int, int); int main(int argc, const char * argv[]) { //定义乱序数组 int a[10] = {9, 3, 4, 6, 1, 2, 7, 8, 5, 0}; //排序前输出: printf("乱序:\n"); for (int i = 0; i <…
冒泡排序_C语言_数组 #include <stdio.h> //冒泡排序 小->大 void sort(int * pArray, int len); int main(int argc, const char * argv[]) { //定义一个乱序的数组 int array[10] = {1, 9, 6, 8, 2, 5, 3, 4, 0, 7}; int i = 0; //调用冒泡排序方法 sort(array, 10); //输出排序后的数组元素 for (i = 0; i &…