C
swjtk
这个作者很懒,什么都没留下…
展开
-
结构体对齐
结构体对齐结构对齐的目的是为了加快CPU取数据时的速度,不同的编译器有不同的标准,有关于4字节对齐的,也有关于8字节对齐的,解题时需跟据环境具体分析。 一、判断结构大小,只需要注意3点即可:判断对齐宽度 j :每个数据成员的对齐按照指定的“对齐系数” n 和这个数据成员自身长度中,比较小的那个进行。1.小于 j 字节的结构成员,相对起始地址要在成员大小的倍数上 2.整个结构要关转载 2012-11-15 00:30:56 · 624 阅读 · 0 评论 -
指针
char *a="abcdefg";*a是const的,不能修改,否则会报段错误。如果要修改 *a某个字节的字符的话,可以采用下面的方法(谁有更好的方法请留言)#include#includeint main(){ char *s="abcdefg"; char temp[10]; printf("begin\n"); strcpy(原创 2012-12-23 19:30:55 · 760 阅读 · 0 评论 -
const 与 #define的区别
在c程序中,const的用法主要有定义常量、修饰函数参数、修饰函数返回值等3个用处;在c++程序中,它还可以修饰函数的定义体,定义类中某个成员函数为恒态函数,即不改变类中的数据成员1)const 有数据类型,而宏没有数据类型,编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换中可能会产生意料不到的错误(边际效应)2)有些集成化转载 2013-03-03 22:24:05 · 738 阅读 · 0 评论 -
sizeof 与 strlen的区别
1.sizeof1.1 当使用了一个结果类型或变量时,sizeof 返回实际的大小。当使用一静态的空间数据时,sizeof返回全部数组的尺寸。sizeof操作符不能返回被动态分配的数据或外部的数组的尺寸1.2 大部分编译程序在编译的时候就把sizeof 计算过了,是类型或则变量的长度,所以sizeof(x)可以定义数组的维数char str[20];int b=sizeof(str...转载 2013-03-05 23:19:44 · 1053 阅读 · 0 评论 -
Linux min 和 max 宏
定义在 include/linux/kernel.h下#define min(x,y) ({ / typeof(x) _x = (x); / typeof(y) _y = (y); / (void) (&_x == &_y); / _x < _y ? _x : _y; })#define max(x,y) ({ / typeof(x) _x = (x); /转载 2013-05-18 18:22:30 · 3454 阅读 · 0 评论 -
小程序
用宏转换两个数的值x=x+yy=x-yx=x-y转载 2013-05-09 23:06:15 · 772 阅读 · 0 评论