c语言
文章平均质量分 84
jacob
这个作者很懒,什么都没留下…
展开
-
static,const和typedef关键字的几种用途
static关键字至少有下列n个作用: (1)函数体内static变量的作用范围为该函数体 ,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值; (2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问; (3)在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内; (4转载 2011-10-22 14:37:51 · 634 阅读 · 0 评论 -
c语言当中位段的使用
位段结构中位段的定义格式为: unsigned :例如:struct bytedata{unsigned a:2; /*位段a,占2位*/ unsigned:6; /*无名位段,占6位,但不能访问*/ unsigned:0; /*无名位段,占0位,表下一位段从下一字边界开始*/ unsigned b:10; /*位段b,占10位*/转载 2011-10-22 17:27:58 · 575 阅读 · 0 评论 -
结构体内存对齐
关于结构体内存对齐内存对齐”应该是编译器的“管辖范围”。编译器为程序中的每个“数据单元”安排在适当的位置上。但是C语言的一个特点就是太灵活,太强大,它允许你干预“内存对齐”。如果你想了解更加底层的秘密,“内存对齐”对你就不应该再透明了。一、内存对齐的原因大部分的参考资料都是如是说的:1、平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地转载 2011-10-22 17:24:20 · 416 阅读 · 0 评论 -
C语言运算符的“优先级口诀”&& C语言初学者的十八颗“地雷”
希望对初学C语言语言的同志有所帮助;当然,应用这个口诀的前提是你必须认识所有的C语言的运算符。 优先决括号成员第一; //括号运算符[]() 成员运算符. ->全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*&乘除余三,加减四; //这个"余"是指取余运算即%移位五,关系六; //移转载 2011-10-24 10:49:07 · 1003 阅读 · 0 评论 -
数组指针和指针数组的区别
数组指针和指针数组的区别数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向转载 2011-11-01 20:15:21 · 637 阅读 · 0 评论 -
c语言的字符操作API参考手册
c语言的字符操作API参考手册:http://www.kuqin.com/clib/string/strstr.html原创 2012-03-17 11:08:27 · 1518 阅读 · 0 评论 -
C运算符优先级
优先口决括号成员第一; //括号运算符[]() 成员运算符. ->全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*&乘除余三,加减四; //这个"余"是指取余运算即%移位五,关系六; //移位运算符:> ,关系:> = 等于(与)不等排第七; //即== !=位与异或和位或; //这几个都是位运算: 位与(&)异或(转载 2013-11-05 09:55:12 · 570 阅读 · 0 评论