某笔试题记录
1、今天笔试C++遇到的几道题,感觉还是有些难度的
1 int main()
2 {
3 int a[4][4] = {
4 {1,2,3,4},
5 {50,60,70,80},
6 {900,1000,1100,1200},
7 { 13000, 14000, 15000, 16000 }
8 };
9
10 int(*p1)[4] = a;
11 int(*p2)[4] = &a[0];
12 int *p3 = &a[0][0];
13
14 printf("%d %d %d %d", *(*(a+1)-1),*(*(p1+3)-2)+1,*(*(p2-1)+18)+5,*(p3+sizeof(p1)-3));
15
16 system("pause");
17 return 0;
18 }
答案是4 1101 15005 2
前两个比较好理解。对于第三个,p2-1相当于跳了一个一维数组(元素为随机值),再加18个元素就加到了15000位。
对于第四个,sizeof(p1)为4,首位元素再加1位。
2、进程和线程
进程是系统分配资源的最小单位,线程是CPU调度的最小单位;
进程是独立的,线程是进程的子集;
进程拥有自己独立的栈资源,线程共享进程资源与空间;
3、返回两个值?