文档介绍:指针与引用的区别:
引用必须被初始化,指针不必;引用初始化后不能改变,指针可以改变所指的对象;不存在指向空值的引用,但是存在指向空值的指针。
是不是一个父类写了一个virtual函数,如果子类覆盖它的函数不加virtual,也能实现多态符串过大,会引发堆栈溢出!!!
下面代码有什么错误Voidtest1()(charstring[10];char*str1="09”;strcpy(string,str1);}数组越界下面代码有什么问题Voidtest2()(charstring[10],str1[10];for(i=0;i<10;i++)(str1[i]='a';}strcpy(string,str1);}数组越界(以’/0'为拷贝界限)下面代码有什么问题Voidtest3(char*st⑴(charstring[10];if(strlen(str1)<=10)(strcpy(string,str1);}}==数组越界==strcpy拷贝的结束标志是查找字符串中的\0因此如果字符串中没有遇到\0的话会一直复制,直到遇到\0,上面的123都因此产生越界的情况建议使用strncpy和memcpy下面代码有什么问题#defineMAX_SRM256DSNget_SRM_no()(staticintSRM_no;出运行结果:
{出运行结果:
{C++写个程序,如何判断一个操作系统是16位还是32位的不能用sizeof()函数A1:
16位的系统下,inti=65536;cout<<i;不用第三方参数的情况下,交换两个参数的值#includevoidmain(){inti=60;intj=50;i=i+j;j=i-j;i=i-j;printf("i=%dn",i);printf("j=%dn”,j);}方法二:
iA=j;jA=i;iA=j;方法三:
关位域的面试题(为什么输出的是一个奇怪的字符)='b';效果相当于='b'&0xf;
'b'->01100010
'b'&0xf->>00000010所以输出Ascii码为2的特殊字符</endl;</endl;</MAX_SRM;I++,SRM_no++)chart:4;就是4bit的字符变量,同样unsignedshorti:8;就是8bit的无符号短整形变量尚未验证i=10,j=10,k=3;k*=i+j;k最后的值是60进程间通信的方式有进程间通信的方式有共享内存,管道,Socket,消息队列,DDE等21.
structA{chart:4;chark:4;unsignedshorti:8;unsignedlongm;}sizeof(A)=(不考虑边界对齐)7structCELL位结构中的成员可以定义为unsigned,也可定义为signed,但当成员长度为1时,会被认为是unsigned类型。因为单个位不可能具有符号。
位结构中的成员不能使用数组和指针,但位结构变量可以是数组和指针,如果是指针,其成员访问方式同结构指针。
位结构总长度(位数),是各个位成员定义的位数之和,可以超过两个字节。
位结构成员可以与其它结构成员一起使用。
例如:
structinfo{charname[8];intage;structaddraddress;floatpay;unsignedsta