C/C++笔试面试
文章平均质量分 68
小文兄弟
这个作者很懒,什么都没留下…
展开
-
如何不用sizeof判断操作系统的位数
void main(int argc,char** argv){ typedef char * PType; PType array[2]; char *p0 = (char *)&array[0]; char *p1 = (char *)&array[1]; printf("%d",8*(p1 - p0));}常用数据类型对应字原创 2011-12-19 17:50:16 · 1907 阅读 · 0 评论 -
a 和&a的区别
void main(){int a[5]={1,2,3,4,5};int *ptr=(int *)(&a+1);printf("%d,%d",*(a+1),*(ptr-1));}打印出来的值为多少呢?对指针进行加 1 操作,得到的是下一个元素的地址,而不是原有地址值直接加 1。所以,一个类型为 T 的指针的移动,以 sizeof(T) 为移动单位。 因此,对上题转载 2011-12-19 21:56:47 · 1152 阅读 · 0 评论 -
进程间通信方式总结(windows 和linux)
原文:http://blog.163.com/laylau_ll/blog/static/178625909201173131345423/平时看的书很多,了解的也很多,但不喜欢总结,这不昨天面试的时候被问到了进程间通信的方式,因为没有认真总结过,所以昨天答得不是特别好。现在将linux和windows的进程间通信方式好好总结一下。 windows的进程间的通信方式有转载 2011-12-19 22:01:05 · 2309 阅读 · 0 评论 -
#运算符 ##预算符
#也是预处理?是的,你可以这么认为。那怎么用它呢? 别急,先看下面例子:#define SQR(x) printf("The square of x is %d.\n", ((x)*(x)));如果这样使用宏:SQR(8);则输出为:The square of x is 64.注意到没有,引号中的字符 x 被当作普通文本来处理,而不是被当作一个可以被替换的语言符号。转载 2011-12-19 21:53:12 · 965 阅读 · 0 评论 -
C笔试题(判断大端小端模式及大小端模式转换)
判断大端小端模式int checkEndion( void ){ union check { int i; char ch; }c; c.i = 1; return (c.ch ==1);}变量 i 占 4 个字节,但只有一个字节的值为 1,另外三个字节的值都为 0。如果取出低地址上的值为 0原创 2011-12-19 21:50:42 · 5180 阅读 · 0 评论