程序员宝典第一天
来源:互联网 发布:带虚化的拍照软件 编辑:程序博客网 时间:2024/05/01 14:04
1、atexit的 用法
#include <stdlib.h>
int atexit(void (*function)(void));
void fd()
{
printf(“I am in A\n”);
}
void fd1()
{
printf(“I am in B\n”);
}
int main()
{
atexit(fd);
atexit(fd1);
return 0;
}
系统会在函数执行完main函数之后 执行这两个函数,*并且执行的顺序 与注册的顺序是相反的 ,所以代码输出结果如下:
I am in B
I am in A
2、宏定义的使用
1、使用宏定义定义一个公式。例如:
#define SQR(x) (x*x)
需要注意的是,如果调用函数int a=3 SQR(a+2),
这里的结果不是 5*5 而是3+2*3+2;是11;所以写函数的时候 要写成
#define SQR(x) ((x)*(x));系统不会自动把公式圈起来的。
2、宏参数的链接
#define STR(s) #s
#define CONS(a,b) (int)(a##e##b)
这里定义的两个宏。意思分别是
1、s是一个字符串 #的意思是 这个S是一个字符串。
2、## a,b是链接两个参数的 例如调用CONS (3,5)那么这个函数就是3e5那么就300000.
3、如何得到一个字的高低8字节:代码如下
#define SQR(x) ((bytes)((word)(x)&&255))
#define SQR(x) ((bytes)((word)(x)>>8));
3、static
1、static有什么作用
1、在函数体内,修饰一个静态变量,在调用这个变量时保持其值不变。
2、在模块内,(但在函数体外),用static函数修饰的变量,可以被模块内所有函数访问,但不能被模块外其他函数访问,它是一个本地的局部变量。
3、在模块内,一个被声明为静态的函数只可被这一个模块内的函数调用。那就是这个函数被限制在声明它的模块内使用
2、static 全局变量与普通的全局变量有什么区别
全局变量的说明之前加上static就是静态全局变量,全局变量和静态全 局变量也是静态存储方式,但是用了static修饰以后,如果有几个源文 件组成,那么就只能在 定义的源文件组成,但是如果不用static修饰那 么 就能够被所有源文件使用。用static修饰,就会避免在其他源文件中 引起错误。
- 程序员宝典第一天
- 程序员面试宝典一周目第一天
- 黑马程序员--第一天
- 黑马程序员-------第一天
- 黑马程序员--第一天
- 程序员的第一天
- 程序员的“第一天”
- 黑马程序员第一天
- 程序员面试宝典(第4版)
- 程序员面试宝典 第1-8章
- 程序员面试宝典一周目第三天
- 程序员面试宝典一周目第五天
- 《程序员面试宝典》第3版纠错
- 黑马程序员复习第一天
- 黑马程序员_第一天
- 黑马程序员_javaIO_第一天
- 黑马程序员的第一天
- 黑马程序员--第一天学习
- 手机屏幕的色彩偏离度(ΔE)(也就是常说的色准)
- mybatis学习之mybatis中mapper中传入的参数处理
- Android ainmation(三.scale and translate)
- POJ3057 Evacuation 【二分匹配】
- unity3D学习笔记之八 利用RawImage和RenderTexture在uGUI上显示Model
- 程序员宝典第一天
- Linux常见命令——(二)
- 浅读《大话数据结构》(1)
- 今天把之前学的之前所学的表单和表格的知识做出了一个个人信息表单
- react、react-router、redux 也许是最佳小实践1
- ios 自定义的NSOperation添加到NSOperationQueue中,系统自动执行start方法
- SQLServer 怎样开启 SQLServer身份验证
- java测程序运行时间
- Centos7 源码安装msyql5.7