堆上記憶體四大開闢函式 和棧上記憶體開闢函式

2021-07-13 23:33:57 字數 1257 閱讀 7958

#include#include#include//alloca函式的標頭檔案

int main()

p2 =(int *)calloc( 3,sizeof(int) ); //第乙個元素是元素的個數,第二個元素是元素的大小。 記憶體初始化為0

printf("%p\n",p2);

for(i = 0 ;i< 3;i++)

p3 = (int*)realloc(p,sizeof(int) *10); //記憶體的拓展,如果記憶體允許,會在原有記憶體的後面直接拓展,如果記憶體不允許,會重新開闢一塊記憶體。將原來的記憶體中的東西拷貝過來,但是開闢後面的位元組數不會設為'\0',

printf("%p\n",p);

printf("%p\n",p3); //這兩個位址不同,所以我們要注意當用這新開闢的記憶體的位址時要用新的首位址,而不是舊位址。

printf("p3各元素:");

for(i = 0 ;i< 10;i++)

p4 = (int*)_recalloc(p2,10,sizeof(int)); // 這個函式和realloc函式差不多,只是它將新開闢的記憶體位元組設定為0. 這四個函式都是在堆上分配記憶體,

printf("%p\n",p2);

printf("%p\n",p4);

printf("p4各元素:");

for(i = 0 ;i< 10;i++)

/*if(p !=null)

if(p2 !=null)

*/ if(p3 !=null)

if(p4 !=null)

/*char str[10] = "abdjei";

char insertstr[20] = "jd";

char insertstr2[20] = "jdieji";

if()*/

p = (int *)alloca((sizeof(int )*10));//在棧上開闢新的記憶體。包含標頭檔案malloc.h

四大開源目標檢測框架

維護團隊 facebook 所屬框架 pytorch adelaidet 例項級識別任務開源工具箱 這個專案後面 amusi 會單獨寫一篇文章來介紹,adelaidet 主要是阿德萊德大學沈春華團隊維護的專案,涉及目標檢測 例項分割 文字檢測等方向。比如包含了solov1 v2 fcos blend...

Linux四大開發工具

vim 學會使用和如何配置vim gcc 編譯器 學會製作動態庫及靜態庫及使用與區別 gdb 偵錯程式 設定斷點,單步執行,會除錯記憶體錯誤 make 工程管理器 編寫makefile檔案 a 文字編輯器 vim 號稱功能最強大的編輯器 b 有三個模式 命令列模式,插入模式,底行模式 切換成插入模式...

四大排序函式

row number over partition by clause order by filed asc desc 連續的從1開始到n的排序號 sql view plain copy rank over partition by clause order by filed asc desc 不連...