知识点6-10

学习目标

(1)#include< >和#include" "的区别。

(2)全局变量和局部变量的区别。

(3)define和typedef的区别。

(4)static的作用。

(5)什么是内存泄漏。


一、#include< >和#include" "的区别

(1)#include< >:编译器会从标准库的路径里面去搜索,对搜索标准库的文件速度会比较快。

(2)#include" ":编译器会从用户的工作路径去搜索,对于自己定义的文件比较快。

二、全局变量和局部变量的区别

(1)作用域不同:全局变量作用域为程序块,局部变量作用域为当前函数内部。

(2)生命周期不同:全局变量生命周期是整个程序,局部变量生命周期是当前函数。

(3)存储方式不同:局部变量存储在栈里面,全局变量存储在全局数据中。

(4)使用方式不同:全局变量在程序的各个部分都可以使用,局部变量只能在函数内部使用。

三、define和typedef的区别

(1)define是一个预处理命令;typedef是关键字。

(2)define不会做正确性检查,直接替换;typedef会做正确性检查。

(3)define没有作用域的限制;typedef有作用域的限制。

(4)对指针操作不同,一般使用typedef进行指针重命名。

四、static的作用

(1)定义一个静态变量或是静态函数。

(2)在函数体中使用static去定义变量,那么这个变量只会被初始化一次。

(3)定义的静态函数或静态变量只能在当前文件中使用。

(4)在函数内部定义的静态变量无法被其它函数使用。

五、什么是内存泄漏

        内存泄漏指的是在程序运行的时候,动态分配的空间没有被回收或者是正确释放,导致了内存空间还占据着系统的资源。

你可能感兴趣的:(学习过程中遇到的知识点,c++,c语言)