摘要:
转自:http://blog.csdn.net/hongjiujing/article/details/2173909int i=1; char *p=(char *)&i; if(*p==1) printf("1"); else printf("2"); 大小端存储问题,如果小端方式中(i占至少两个字节的长度)则i所分配的内存最小地址那个字节中就存着1,其他字节是0.大端的话则1在i的最高地址字节处存放,char是一个字节,所以强制将char型量p指向i则p指向的一定是i的最低地址,那么就可以判断p中的值是不是1来确定是不是小端。请写一个C函数 阅读全文
阅读排行榜
[转]C/C++ extern详解
2011-10-22 11:45 by zhiyzhan, 137 阅读, 收藏,
摘要:
转自:http://blog.csdn.net/lwbeyond/article/details/65795121. 基本解释 extern可以置于变量或者函数 前,以标示变量或者函数 的定义在别的文件中,提示编译器遇到此变量和函数 时在其他模块中寻找其定义。 另外, extern也可用来进行链接指定。2. extern 变量 extern int a; 仅仅是一个变量的声明,其并不是在定义变量 a,并未为a分配内存空间。变量a在所有模块中作为一种全局变量只能被定义一次,否则会出现连接错误。 通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。例... 阅读全文
[转]堆和栈的区别
2011-10-24 04:11 by zhiyzhan, 123 阅读, 收藏,
摘要:
转自 http://blog.csdn.net/hairetz/article/details/4141043一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的 全局变量和静态变量在一块... 阅读全文
[转] c++静态成员小结,c++,static
2011-10-26 00:37 by zhiyzhan, 121 阅读, 收藏,
摘要:
转自:http://hi.baidu.com/xiaoxin_ye/blog/item/83a51ee7c482782ab93820c6.html本人注:注意类的static成员在类中只是声明,声明就是告诉编译器我有这么个东西,他会在别的地方定义。因此static成员需要在其他地方如cpp中定义,但是要确保定义只能一次,确保不要重复定义。另外定义的同时可以作初始化。类中的静态成员真是个让人爱恨交加的特性。我曾经在面试时,被主考官抓住这个问题一阵穷追猛打,直把我问的面红耳赤,败下阵来。所以回来之后,我痛定思痛,决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。静态类 阅读全文