C/C++软件工程师就业求职手册节选二
5、#define宏定义。宏只是简单的文本替换,很容易引起歧义。
#include <stdio.h>
#define CONS(a,b) (int)(a##e##b)
#define STR(s) #s
int main()
{
printf(STR(vck));
printf("\n");
printf("%d\n",CONS(2,3));
return 0;
}
在本程序中,使用#将宏参数变为一个字符串,用##把两个宏参数贴合在一起,结果为:
vck
2000
6、宏定义得到字的高位和低位字节
#define WORD_LO(xxx) ((byte)((word)(xxx)&255))
#define WORD_HI(xxx) ((byte)((word)(xxx)>>8))
7、const与#define的个子特点与区别
#define只是用来做文本替换,那么,当程序进行编译的时候,编译器首先会将“#define PI 3.1415826”以后所有代码中的PI全部换成“3.1415826”然后再进行编译。因为#define长了生命周至于编译期,它存在于程序的 代码段,在实际程序中,它只是一个常数,一个命令中的参数,并没有时间的存在。
const常量存在于程序的数据段中,并在堆栈中分配了空间,const常量是一个Run-time的概念,它在程序中确确实实存在着并可以被调用,传递。const常量有数据类型,而宏常量中没有数据类型,编译器可以对const常量进行安全检查。
相关文档:
C程序是由一组或是变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。下面小编和大家分享下C语言中的函数。
1. kbhit函数
kbhit函数是检查当前按下的键,其用法为:int kbhit(void);程序例子如下:
#include <conio.h>
int main(void)
{
c ......
unzip.c
中引用validate.cpp
文件中的函数来进行epub
纠错,产生的问题:
1.
validate.cpp
中使用iostream.h,
但是C
中没有这个文件
,所以产生的错误:
2>
正在编译...
2>unzip.c
2>D:\Program
Files\VC\include\cstdio(25) : error C2143:
语法错误:
缺少“{ ......
第一种理解
比如说你用C++开发了一个DLL库,为了能够让C语言也能够调用你的DLL输出(Export)的函数,你需要用extern "C"来强制编译器不要修改你的
函数名。
通常,在C语言的头文件中经常可以看到类似下面这种形式的代码:
#ifdef __cplusplus
extern "C" {
#endif
/**** some declaration or so *****/
#ifde ......
请运行下面的代码,观察结果,有人说怎么是死循环,你同意吗?为什么?
#include
<stdio.h>
int
main()
{
int
i = 0;
int
name[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
......