文档介绍:历年腾讯笔试试题搜集
历年腾讯笔试试题搜集
C/C++类:
1,关于sizeof:
char A[]=“hello”,求sizeof(A); char *p=A; 求sizeof(p); int
历年腾讯笔试试题搜集
历年腾讯笔试试题搜集
C/C++类:
1,关于sizeof:
char A[]=“hello”,求sizeof(A); char *p=A; 求sizeof(p); int a[101]; 求sizeof(a).
解析:第一空=6。第二空=4,32位机下指针占4字节,指针大小与数据类型无关。sizeof(a)返回数组a在内存中所占的空间大小,32位机一个int类型4字节,答案400。
( d )
a char * const p = 0; //定义一个常指针p。指针值不能改变,但指向的char变量可以改变。
b char const * p = 0; //定义一个普通指针,指针值能改变,指针指向的内容char不能改变。跟c等价
c const char * p = 0; //定义一个普通指针p,指针值能改变,但指向的char变量不能改变。
d char * p const = 0;
解析:关键看const修饰的对象。看变量声明的时候应该从右至左看。
( )
#pragma pack(4)
struct {
unin {
char ch1;
double num;
} bbb;
char ch2;
}aaa;
解析:通过#pragma pack(n)来指定内存按照4字节对齐。double占8个字节,char占一个字节,所以bbb以double为准占8个字节,aaa占8+1=9个字节,又因为9需要向上对齐到4的最小整数倍值12,所以aaa最终占12字节。
( )
class A {
public:
A() { printf("A1 "); }
~A() { printf("A2 "); }
};
class B : public A {
public:
B() { printf("B1 "); }
~B() { printf("B2 "); }
};
历年腾讯笔试试题搜集
C/C++类:
1,关于sizeof: