下载此文档

C 基础面试题.doc


文档分类:通信/电子 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
C 基础面试题.docc++中指针的优缺点有哪些
答案:优点:
提高程序的编译效率和执行速度。
通过指针可使用主调函数和被调函数之间共享变量或数据结构,便于实现双 向数据通讯。
可以实现动态的存储分配。
便于表示各种数据结构,编写高质量的程序。
缺点:
使用未正确初始化的指针导致程序崩溃
引用已释放的指针
通过指针访问不该访问的内存
宏和函数的区别
答案:(1)宏做的是简单的字符串替换(注意是字符串的替换,不是其他类型参数 的替换),而函数的参数的传递,参数是有数据类型的,可以是各种各样的类型。
宏的参数替换是不经计算而直接处理的,而函数调用是将实参的值传递给形 参,是计算得来的。
宏在编译之前进行,即先用宏体替换宏名,然后再编译的,而函数是编译之 后,在执行时,才调用的。因此,宏占用的是编译的时间,而函数占用的是执行 时的时间。
宏的参数是不占内存空间的,因为只是做字符串的替换,而函数调用时的参 数传递则是具体变量之间的信息传递,形参作为函数的局部变量,是占用内存的。
函数的调用是需要付出一定的时空开销的,因为系统在调用函数时,要保留 现场,然后转入被调用函数去执行,调用完,再返回主调函数,此时再恢复现场, 这些操作,显然在宏中是没有的。
宏定义是什么时期处理的(预处理?编译期?)
答案:预处理
不同情况下类对象的大小(有数据成员,无数据成员,有虚函数等)
答案:(1)无任何数据成员和虚函数的类大小为1
每个虚函数大小为4
成员变量大小要考虑内存对齐,通常是4字节对齐
STL中vector使用的时候要注意什么
答案:(1)如果元素是对象的指针,当该vector超出其作用域或调用erase删 除元素时,那么元素本身在该vector中会被删除,但对象本身并没有得到销毁。 在这种情况下,销毁的工作要由程序员自己来做。
(2)用erase删除vector容器中的元素对象时,元素对象的析构函数会被多次 调用。
字符转整型数的函数是什么?是怎样实现的?
strtouloTOLOWER(x) ((x) isxdigit(c) ((, | | ( 'a, <= (c) && (c)
答案:
strtol>
0X20)
O' <= (c) && (c) 〈= ' 9, ) \'f' ) \
#define
(公 <=(c) && (c)
<=<='F'))
#define
ttdefine isdigit(c) (' O' <= (c) && (c)〈二,9」) unsigned long strtoul(const char *cp, char **endp, unsigned int base)
{
unsigned long result = 0,value;
if (!base) (
base = 10;
if (*cp 二二,0, ) {
base = 8;
cp++;
if ((TOLOWER(*cp) == W ) && isxdigit (cp[l])) {
cp++;
base = 16;
}
}
} else if (base == 16) (
if (cp[0]二二'O' && TOLOWER(cp[l])二二'x')
cp +二 2;
}
while (is

C 基础面试题 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小健
  • 文件大小66 KB
  • 时间2021-08-09