
C/C++
driverSir
你永远不知道以后会怎样,现在要做的就是努力!
展开
-
C/C++基础知识:typedef用法小结
第一、四个用途 用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量; 以下则可行: typedef char* PCHAR; // 一般用大写 PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针 虽然:转载 2010-05-19 14:49:00 · 398 阅读 · 0 评论 -
C语言程序的内存布局
C语言程序的内存布局 章介绍C语言程序的内存布局结构,包括连接过程中目标程序各个段的组成和运行过程中各个段加载的情况。 在本章的学习中,读者应重点关注以下内容: C语言程序在内存中各个段的组成 C语言程序连接过程中的特性和常见错误 C语言程序的运行方式 13.1 C语言程序的存储区域 由C语言代码(文本文件)形成可执行程序(二进制文件),需要经过编译-汇转载 2013-09-22 14:25:44 · 1203 阅读 · 0 评论 -
C语言的条件编译
有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置一些参数就生成一个不同的软件,这当然可以通过变量设置,把所有可能用到的代码都写进去,在初始化时配置,但在不同的情况下可能只用到一部分代码,就没必要把所有的代码都写进去,就可以用条件编译,通过预编译指令设置编译条件,在不同的需要时编译不同的代码。 (一)条件编译方法 条件编译是通过预编译指令来实现的,主要方法有:转载 2013-09-13 09:52:57 · 1278 阅读 · 0 评论 -
C语言文件操作函数大全
C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include 定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。 返回值 fclose(关闭文件) 相关函数 close,fflush,fopen,setbuf转载 2013-09-10 17:46:17 · 865 阅读 · 0 评论 -
改vim的注释颜色
vimrc里添加下面一句话就可以了: highlight Comment ctermfg=green guifg=green转载 2013-07-01 10:52:31 · 785 阅读 · 0 评论 -
宏中的# ##作用
使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起 #include #define STR(S) #S #define CON(A,B) (A##B) int main(void) { printf("%s\n",STR(hello)); printf("%x\n",CON(0x,FF)); return 0; } 输出结果为: hello f原创 2013-05-21 15:35:30 · 619 阅读 · 0 评论 -
微软C标准库
char * strcat(char * dst, const char * src) { char * cp = dst; while(*cp) { cp++; /* find end of dst */ } while (*cp++ = *src++); /* Copy src to end of dst */ return dst; /*转载 2013-05-21 08:56:37 · 895 阅读 · 0 评论 -
C语言宏定义##连接符和#符的使用
C语言宏定义##连接符和#符的使用 C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。 关于#和## 在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量 通过替换后在其左右各加上一个双引号。比如下转载 2013-05-20 10:25:22 · 855 阅读 · 0 评论 -
C语言运算符优先级 详细列表
优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 () 圆括号 (表达式)/函数名(形参表) .转载 2013-05-20 10:27:22 · 605 阅读 · 0 评论 -
字节对齐(强制对齐以及自然对齐)
struct {}node; 32为的x86,window下VC下sizeof(node)的值为1,而linux的gcc下值为0; 一、WINDOWS下(VC--其实GCC和其原理基本一样,象这种问题,一般要查具体的编译器设置)字节对齐的规则: 1、一般设置的对齐方式为1,2,4字节对齐方式,VC一般默认为4字节(最大为8字节)。结构的首地址必须是结构内最宽类型的整数倍地址;另外转载 2013-05-20 10:11:35 · 1304 阅读 · 0 评论 -
memset函数详细说明
1。void *memset(void *s,int c,size_t n) 总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。 2。例子 #include void main(){ char *s="Golden Global View"; clrscr(); memset(s,'G',6); printf("%s",s); getchar(); return原创 2010-05-20 11:46:00 · 477 阅读 · 0 评论 -
printf debug
#define AlsaDbgPrintf(a, b...) printf("zsphal: "); printf(a, ##b) //#define AlsaDbgPrintf(a, b...) #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) #define error(...) do {\ ...原创 2013-10-17 16:21:54 · 1532 阅读 · 0 评论