计算机中的内存是分区来管理的,程序和程序之间的内存是独立的,不能互相访问,而每个程序的内存也是分区管理的,一个应用程序所占的内存可以分为很多个区域,通常叫内存四区: 1.代码区 程序被操作系统加载到内存的时候,所有的可执行代码(程序代码指令、常量字符串等)都加载到代码区,这块内存在程序运行期间是不变 ...
分类:
其他好文 时间:
2019-03-04 09:32:11
阅读次数:
161
2 昨日回顾 p++: (把地址转换成整型 加上它所指向的数据的大小 3指针成立条件和间接赋值 条件一:有两个变量 其中至少一个是指针 条件二:建立关联 条件三:间接操作 4间接操作的例子 5间接操作的内存四区图 6 指针做为函数参数的意义 7指针的总结 8字符串-指针和数组名的区别 答:指针是指向 ...
分类:
编程语言 时间:
2019-02-13 11:01:29
阅读次数:
200
局部变量存放在栈区,函数return以后申请的这块栈区就被回收(C++编译器把这段内存析构了),所以在函数内声明的局部变量,函数外不能使用该局部变量的内存地址。下面用代码说明: #define _CRT_SECURE_NO_WARNINGS#include <stdlib.h>#include <s ...
分类:
其他好文 时间:
2019-01-05 12:09:56
阅读次数:
186
用代码例子看一个数据区中常量区: #include <stdio.h>#include <stdlib.h> char *getStr1(){ char *pstr1 = "adfag";//pstr1是局部变量,在声明时入栈,函数结束后出栈 return pstr1;} char *getStr2 ...
分类:
其他好文 时间:
2019-01-04 22:00:14
阅读次数:
246
变量的生命周期是怎么管理的? 一 内存四区 C/C++程序占用的内存分为四个区: 栈区,堆区,数据区,代码区。 1 栈区 存放函数的参数值,局部变量的值等。如 int a; int *p; 这儿的a和p都存放在栈中。 由编译器自动分配释放。 2 堆区 存放由程序员动态申请的变量。(malloc, n ...
分类:
其他好文 时间:
2019-01-04 21:59:49
阅读次数:
193
首先是操作系统将代码程序加载到内存中 然后将内存分为4个区 栈区,程序的局部变量区,函数传递的参数,由编译器自动进行内存资源的释放。 堆区,动态内存申请,如果不手动释放内存,则这块内存不会进行析构。 全局区,静态区,常量区(字符串存放的位置),程序结束后,有操作系统释放 代码区,存放函数体的二进制代 ...
分类:
编程语言 时间:
2018-08-02 12:52:23
阅读次数:
165
1、内存分配的形式有哪些 内存四区模型啊:栈、堆、全局区、代码区。 栈:存局部变量、返回值、参数等 堆:动态申请内存。存malloc或者new出的数据 全局区:存全局变量、静态变量、常量等 代码区:存放二进制代码 2、什么是内存泄漏 占用的内存空间得不到释放,导致这块内存不可再被使用,这就叫内存泄漏 ...
分类:
其他好文 时间:
2018-07-30 00:32:19
阅读次数:
155
一切都是二进制;指令,数据;英文单词来开发(写源代码),必须要配套一个翻译;分类处理:提高效率。蔬菜,洗洁精,卫生纸,烧烤;分类摆放;1001个字节2002个总结4个总结拿4个字节就跑,然后指令集对比解析方式不一样;专门存储指令区数据区内存四区:指令区:代码区;数据区栈区堆区内存四区:数据:123451234512345123451234512345取的字节数量(数据类型来告诉)相同字节(1个),
分类:
其他好文 时间:
2018-03-30 17:26:27
阅读次数:
165
C语言提高笔记 标签(空格分隔): C++ C语言 day1 数组做函数参数的退回问题 数组做函数参数会退回为一个指针, 正确做法:把数组的内存首地址和数组的有效长度传给被调用函数。 实参的a 和 形参的a 的数据类型本质不一样, 形参中的数组,编译器会把它当成指针处理 只会分配四个字节。 形参写在 ...
分类:
编程语言 时间:
2018-03-04 11:48:48
阅读次数:
235