两道关于指针的C语言笔试题
实验室的师兄师姐为找工作都在狂做C/C++的笔试题,偶们也掺和了下,做了两道指针方面的,大家一起来看看吧。
1. 求n的值。
int a[20];
char * p1 = (char * )a;
char * p2 = (char *)(a+5);
int n= p2-p1;
答案:20。
解析:int为4个字节,char为1个字节。a是int*型指针,加减运算以4个字节为单位,a+5便会指向第20个字节;而p1,p2是char*型,它们进行加减运算时以1个字节为单位。于是p1指向第1个字节而p2指向第21个字节,于是21-1=20,n的值为20。
2. 求 * p 的值。
Win32下多核多线程编程
我们通常写的程序都是单线程的,当程序运行一个任务时,我们只能等待,什么也干不了,多线程的存在十分必要。然而,多线程的运用不止于此,现在多核已经十分普及,在大运算量的情况下,多个线程并行运行于多核会使运算的速度倍增,多核多线程的程序具有很大的优势。
深入理解C语言指针的奥秘
–转自http://blog.programfan.com/article.asp?id=22552
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。


| Posted in 编程算法 | 30 Comments »