c++ 面试题 面试题复盘
目录 1. #include<filename.h>与#include"filename.h"的区别 3.malloc/free 与 new delete 1. #include<filename.h>与#include"filename.h"的区别 对于#include <filename.h> ,编译器从标准库路径开始搜索filename.h, 对于#include “filename.h” ,编译器从用户的工作路径开始搜索filename.h # 2 C++中的类与c中的struct的区别 c++ 中的struct与 c中的struct区别 a) C语言中的 结构体不能为空 ,否则会报错 b) C语言中的结构体只涉及到数据结构,而不涉及到算法,也就是说在C中 数据结构和算法 是分离的。换句话说就是C语言中的结构体 只能定义成员变量 ,但是 不能定义成员函数 。然而在C++中既可以定义成员变量又可以定义成员函数, C++中的结构体和类体现了数据结构和算法的结合 c) C语言的结构体中不能定义成员函数,但是却可以定义 函数指针 ,不过 函数指针本质上不是函数而是指针 ,所以总的来说C语言中的结构体只是一个复 杂数据类型 , 只能定义成员变量,不能定义成员函数,不能用于面向对象编程 。 d) 在C语言中结构体变量定义的时候,若为struct 结构体名 变量名定义的时候