
C
ljzcom
这个作者很懒,什么都没留下…
展开
-
const char *p,char const *p,char *const p 的区别
const char* p char const *pconst char*, char const*, char*const的区别问题几乎是C++面试中每次都会有的题目。 事实上这个概念谁都有只是三种声明方式非常相似很容易记混。 Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读。 char原创 2012-02-16 09:40:10 · 974 阅读 · 0 评论 -
原码、反码、补码
正数:原码、反码、补码一样[+7]原= 0 0000111 B[+7]反= 0 0000111 B [+7]补= 0 0000111 B 负数:原码就是原来的表示方法、反码是除符号位(最高位)外取反、补码=反码+1[-7]原= 1 0000111 B[-7]反= 1 1111000 B[-7]补= 1 1111001 B 当做加法时,只需将原码相加即可,转载 2012-02-16 13:33:37 · 647 阅读 · 0 评论 -
代码编程规范之linux下编程
http://www.embeddedlinux.org.cn/linuxcodingstyle/ -- linux内核编码风格》中文版原创 2012-02-18 09:00:35 · 493 阅读 · 0 评论 -
C++中连接符#/##的作用
宏定义中的井号1)# 只在有参数的定义时用到,为把参数产开并转化成字符串即用""引起来。里面的空格分割全部改为一个,并且会自动添加转义字符'\'2)##可以用于有无参数都行。它作用就是把##前后连个东西连起来形成新的标示符。3)#@和#类似,只不过是用''引起来。考虑下面的宏#define stringer( x ) printf( #x "\n" )转载 2011-12-06 12:33:05 · 832 阅读 · 0 评论 -
C语言中一些关键字的作用
1.static关键字的作用——限制作用域,可用于修饰局部变量、全局变量和函数 (1)当用static声明函数内的局部变量时,表示这个局部变量是在静态存储区分配的空间,在函数调用结束后其占用的存储单元并不释放,仍然保留原值。此外,静态局部变量是在编译时赋一次初值,程序运行时每次调用函数都不再重新赋初值,而是使用前次函数调用结束时的值。若程序不赋初值,则编译时自动赋值0(普通局部变量不赋初值转载 2011-12-06 12:39:20 · 1036 阅读 · 0 评论 -
C语言宏定义技巧(常用宏定义)
写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些***软件中常用得宏定义: 1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类转载 2011-12-06 12:37:02 · 665 阅读 · 0 评论