ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

C++回顾(基础)(01)

C++回顾(基础)(01) 第一篇目录前言1.内存分区模型1.1程序运行前1.2程序运行后1.3new操作符前言学习完C语言基础后可以进入C的学习了。C语言和C的语法有互通之处C语言就是C的基础但是C相对于C语言又多加了许多内容。所以对于C的学习也必须细致以便将来做项目的时候可以做到不仅仅是看懂代码还有知道为什么使用这串代码以及能不能使用其他的代码实现更好的效果1.内存分区模型1.1程序运行前代码如下(a)在main函数之外创建的变量为全局变量存入全局区(b)我们可以将局部变量全局变量静态变量的地址打印出来地址接近的在同一个区域c另外还有const修饰的全局变量和常量d以及字符串常量全局变量局部常量等等可以一一验证输出地址如下e可以画出以下图1.2程序运行后代码如下a由于在函数中创建变量为局部变量在栈区存放当函数执行完毕后就会自动释放所以尽管传出了局部变量的指针也会定位不到对应的变量成为野指针b如果对局部变量指针进行返回第一次可能能使用这个变量因为编译器保留了这个变量但是下次就会无法找到出现越界访问的问题c有关new操作符马上讲到1.3new操作符代码如下a尽管在函数创建数据返回指向这个数据的指针但是由于加上了new操作符数据在堆区创建就不会马上释放所以可以多次打印同理也可以用new开辟数组b使用new后记得使用delete释放堆区数据注意数组释放的规则
返回列表