国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C++中堆內存的概念和操作方法入門

2019-11-17 05:11:33
字體:
來源:轉載
供稿:網友

  堆內存(heap)是什么呢?

  我們知道在c/c++中定義的數組大小必需要事先定義好,他們通常是分配在靜態內存空間或者是在棧內存空間內的,但是在實際工作中,我們有時候卻需要動態的為數組分配大小,在這里c庫中的malloc.h頭文件中的malloc()函數就為您解決了問題,(bc或者是在老的標準中是alloc.h),它的函數原形是void* malloc(size_t size),在動態開辟的內存中,在使用完后我們要使用free()函數來釋放動態開辟的內存空間!

  下面我們來看一個完整的例子!

 C++ 代碼
//程序作者:管寧
//所有稿件均有版權,如要轉載,請務必注明出處和作者

#include<iostream>
#include<malloc.h>

usingnamespacestd;
main()
{
 intarraysize;//元素個數
 int*array;//用于動態開辟數組的指針變量

 cin>>arraysize;
 array=(int*)malloc(arraysize*sizeof(int));//利用malloc在堆內存中開辟內存空間,它的大小是元素的個數乘以該數據類型的長度

 for(inti=0;i<arraysize;i++)
 {
  array[i]=i;
 }

 for(inti=0;i<arraysize;i++)
 {
  cout<<array[i]<<",";
 }
 cout<<endl;
 free(array);//利用free釋放動態開辟的堆內存空間
 cin.get();
 cin.get();
}

  這里要非凡注重個地方就是:

 C++ 代碼array=(int*)malloc(arraysize*sizeof(int));

  malloc()的函數原形本身是void* malloc(size_t size),由于動態分配的空間計算機并不知道是用來做什么的所以是無類型的,但你要把它用在動態的整形數組上的時候就要顯式的轉換成int*了! 更多文章 更多內容請看C/C++技術學堂  C/C++技術專題  C/C++進階技術文檔專題,或

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柯坪县| 苗栗市| 称多县| 常德市| 仙桃市| 开鲁县| 泸水县| 磐石市| 唐山市| 临邑县| 南木林县| 库车县| 达拉特旗| 辽宁省| 彭山县| 家居| 万荣县| 建平县| 南江县| 临江市| 公安县| 壶关县| 文化| 香港| 青浦区| 察哈| 滨州市| 垦利县| 武定县| 石渠县| 井研县| 岳阳县| 新巴尔虎右旗| 汪清县| 连平县| 阿拉善左旗| 宁河县| 宁陕县| 灵寿县| 武胜县| 如皋市|