C++ での C 言語ストレージ管理

データの保存方法

プログラムを作成した後、実行するには、コンピュータのコアまたは半導体メモリにロードする必要があります。コンピュータ プログラムは、実行可能コード、静的データ、動的データ (ヒープ)、またはスタックの 4 つの論理セグメントに編成されます。

実行可能コードと静的データは固定メモリ位置に保存されます。

動的データでは、システムがメモリを動的に割り当てる必要があり、メモリは通常、ヒープ領域のメモリ プールに格納されます。

ローカル データ オブジェクト、関数パラメータ、および呼び出し関数と呼び出される関数の関係は、スタック領域のメモリ プールに格納されます。

堆:程序可动态分配和释放内存的自由存储空间叫栈;

int *p=(int *)malloc(20);  //分配内存

free(p);// 回收内存



栈:是一个后进先出的数据结构,当向栈中压入一个对象,则指针向下移动一个位置;

当系统弹出栈顶元素时,指针向上移动一个位置。



#define  _CRT_SECURE_NO_WARNINGS

#include<stdio.h>   

#include<stdlib.h>



int main()

{

int *p=(int *)malloc(20);  //分配内存

free(p);// 回收内存



int *p=(int *)calloc(2, 20);//在内存中动态分配2个长度为20的连续内存空间



//将p指针指向的内存空间大小改为30

realloc(p, 30);



return 0;

}

おすすめ

転載: blog.csdn.net/XiaoWang_csdn/article/details/131019473