1,int *(*a)[3][4];
求sizeof(a) sizeof(*a) sizeof(**a) sizeof(***a) sizeof(****a)
做错:4,48,16,4,4
这个做错不应该。
2,定义一个宏,求最高维的数目
如:int b[4][6];为4
#define DIM(x) sizeof(x)/sizeof(x[0])
蒙对,让我解释的时候,我自己SB说不是很确定
3,我傻逼了,吗的
int a[3] = {0,1,2};
int *p=a;
int *q=&a[2];
cout<<a[q-p]<<endl;
应该是输出2的,我本来写对了,最后解释答题又改了。悲剧。
3,考指针
int *p;
int **p;
int a[10];
int *p[10];
int (*p)[10];
int (*p)(int);
int (*p[10])(int);
4、tcp连接,发送数据到断开,客户端和服务器端用的socket函数
5、比较大小
int fun(unsigned int a, unsign b)
{
return a-b;
}
6、考指针作为函数返回值
7、 int a[10] = {0,1,2,3,4,5,6,7,8,9};
int *p=(int *)((unsigned int *)a + 1);
cout<<*p<<endl;
8、有序数组,输入一个数,求个数
先二分法求位置,再两边走找个数
9、求子集,
先写了一个m*n再写一个先排序的,代码比较匆忙,可能有问题
写快速排序的时候,>=等于号忘了
最后整理又好像不太对。
10、int a;
short *b = (short *)&a;
char *c = (char *)&a;
a=0,*b=1;
printf("%x %x %x\n", a, *b, *c);
a=0,*b=255;
printf("%x %x %x\n", a, *b, *c);
a=0,*b=-1;
printf("%x %x %x\n", a, *b, *c);
printf("%d %d\n", ‘0‘, ‘\0‘);
红色做错的:
1 1 1
ff ff ffffffff
ffff ffffffff ffffffff
48 0
所以总结如下:有以下几个地方不行:
1、sizeof
2、指针相减
3、最后一题
非计算机科班出身,能拿到TX社招笔试的机会就很不错了,怪自己平时不够努力,过年好好补一下知识吧。
争取年后找到自己理想的工作。