自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

介紹C++中堆內(nèi)存的概念和操作方法

開發(fā) 后端
本文介紹的是C++中堆內(nèi)存的概念和操作方法,希望對你有幫助,一起來看。

堆內(nèi)存(heap)是什么呢?

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

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

C++ 代碼:

 

  1. //程序作者:管寧   
  2. //所有稿件均有版權(quán),如要轉(zhuǎn)載,請務(wù)必注明出處和作者  
  3. #include<iostream>   
  4. #include<malloc.h>  
  5. usingnamespacestd;   
  6. main()   
  7. {   
  8.  intarraysize;//元素個數(shù)   
  9.  int*array;//用于動態(tài)開辟數(shù)組的指針變量  
  10.  
  11.  cin>>arraysize;   
  12.  array=(int*)malloc(arraysize*sizeof(int));
  13. //利用malloc在堆內(nèi)存中開辟內(nèi)存空間,它的大小是元素的個數(shù)乘以該數(shù)據(jù)類型的長度  
  14.  
  15.  for(inti=0;i<arraysize;i++)   
  16.  {   
  17. array[i]=i;   
  18.  }  
  19.  
  20.  for(inti=0;i<arraysize;i++)   
  21.  {   
  22. cout<<array[i]<<",";   
  23.  }   
  24.  cout<<endl;   
  25.  free(array);//利用free釋放動態(tài)開辟的堆內(nèi)存空間   
  26.  cin.get();   
  27.  cin.get();   
  28. }  

這里要特別注意個地方就是:

C++ 代碼:

  1. array=(int*)malloc(arraysize*sizeof(int));  

malloc()的函數(shù)原形本身是void* malloc(size_t size),由于動態(tài)分配的空間計算機(jī)并不知道是用來做什么的所以是無類型的,但你要把它用在動態(tài)的整形數(shù)組上的時候就要顯式的轉(zhuǎn)換成int*了!

責(zé)任編輯:于鐵 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-02-02 17:13:35

C++ Endian

2010-02-03 13:26:53

C++計時

2023-11-17 11:40:51

C++內(nèi)存

2010-01-15 10:41:06

CC++

2010-02-03 10:23:47

C++操作符重載

2010-01-25 14:56:08

C++程序

2009-12-30 14:28:06

Silverlight

2010-02-02 13:57:31

C++解析#pragm

2009-12-28 17:48:01

WPF界面布局

2009-12-30 15:53:28

Silverlight

2010-01-28 14:01:32

Android監(jiān)聽通話

2009-09-18 10:58:31

C#數(shù)組操作

2011-06-21 10:17:41

c++內(nèi)存模型

2011-06-17 16:09:04

freadfwrite

2010-03-24 12:45:00

Python 嵌入

2010-02-02 16:23:46

C++實(shí)現(xiàn)WPF動畫

2010-02-04 17:32:43

C++中C風(fēng)格字符串

2009-08-18 15:49:19

C# 操作Excel

2009-08-28 15:25:38

C#線程操作

2010-02-03 16:35:45

C++回文
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號