国产探花免费观看_亚洲丰满少妇自慰呻吟_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++進階技術文檔專題,或

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 峡江县| 阳山县| 长沙县| 玉溪市| 施秉县| 大竹县| 武安市| 高要市| 镇巴县| 双桥区| 浠水县| 渑池县| 青田县| 丹凤县| 浏阳市| 溧阳市| 桑植县| 浑源县| 教育| 武冈市| 轮台县| 晋宁县| 蒙阴县| 盐池县| 廊坊市| 长顺县| 徐闻县| 兴山县| 方城县| 安化县| 托克逊县| 潢川县| 墨玉县| 个旧市| 镇坪县| 名山县| 曲阜市| 泸水县| 马龙县| 德阳市| 雅安市|