完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
c++笔试题汇总
转]C,C++经典问题,及面试笔试题 1 编程基础1.1 基本概念1. 的理解:const char*, char const*, char*const的区别问题几乎是C++面试中每次 都会有的题目。 事实上这个概念谁都有只是三种声明方式非常相似很容易记混。 Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读。 constchar * const cp; ( * 读成 pointer to ) cp is a const pointer to char const char * p; p is a pointer to const char; char const * p; 同上因为C++里面没有const*的运算符,所以const只能属于前面的类型。2. 指针cint *p[n];-----指针数组,每个元素均为指向整型数据的指针。int (*)p[n];------p为指向一维数组的指针,这个一维数组有n个整型数据。int *p();----------函数带回指针,指针指向返回的值。int (*)p();------p为指向函数的指针。3. 数组越界问题下面这个程序执行后会有什么错误或者效果: #define MAX 255int main(){ unsigned char A[MAX],i; for (i=0;i<=MAX;i++) A=i;}解答:MAX=255,数组A的下标范围为:0..MAX-1,这是其一,其二 当i循环到255时,循环内执行: A[255]=255;这句本身没有问题,但是返回for (i=0;i<=MAX;i++)语句时,由于unsigned char的取值范围在(0..255),i++以后i又为0了..无限循环下去.注:char类型为一个字节,取值范围是[-128,127],unsigned char [0 ,255]4. 和strcpy 的根本区别? C++:memset ,memcpy #include "memory.h"memset用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ '或‘ ';例:char a[100];memset(a, '