
C++
aperfels
我要学编程~~
展开
-
C/C++知识点
1.在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?答:首先,extern是C/C++语言中表明函数和全局变量作用范围的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。extern "C"是连接申明(linkage declaration),被转载 2015-12-12 17:21:36 · 644 阅读 · 0 评论 -
指针的指针作用(申请空间)之一
以下是经典程序(载自林锐的从c/c++高质量编程),讲解的部分是我个人理解void GetMemory(char *p,int num){ p=(char*)malloc(sizeof(char)*num); //p是形参指向的地址}void main(){ char *str=NULL; GetMemory(str,100); //str是实参指向的地转载 2015-12-13 13:58:30 · 2381 阅读 · 0 评论 -
struct 和 typedef struct
在C语言中typedef是类型定义的意思,为现有类型创建一个新的别名。 它有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法 。 使用typedef可编写出更加美观和可读的代码。比如定义一个不含typedef的结构体:struct Student{int age;char[20] name;};在声明变量时每次都要加 struct 如:struct student原创 2015-12-13 01:59:31 · 543 阅读 · 0 评论 -
const 和 #define区别
(1) 编译器处理方式不同 define宏是在预处理阶段展开。 const常量是编译运行阶段使用。 (2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开。 const常量有具体的类型,在编译阶段会执行类型检查。 (3) 存储方式不同 define宏仅仅是展开,有多少地方使用,就展开多少次,不会分配内存。 const常量会在内存中分配转载 2016-01-11 14:22:05 · 497 阅读 · 0 评论