久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 什么是“堆”和“棧”? 動態內存分配? [打印本頁]

作者: 愛51hei    時間: 2015-10-29 15:33
標題: 什么是“堆”和“棧”? 動態內存分配?
文章目錄:
解析uc/os-ii操作系統之-寫在前面:http://m.zg4o1577.cn/bbs/dpj-39350-1.html
解析uc/os-ii操作系統--之創建一個單向鏈表:http://m.zg4o1577.cn/bbs/dpj-39833-1.html
單向鏈表之--添加結點的程序詳解:http://m.zg4o1577.cn/bbs/dpj-39834-1.html
什么是“堆”和“棧”? 動態內存分配? :http://m.zg4o1577.cn/bbs/dpj-39835-1.html
C語言函數指針,函數動態回調:http://m.zg4o1577.cn/bbs/dpj-39836-1.html

      什么是“堆”和“棧”? 什么是動態內存分配?為什么需要動態內存分配?動態內存分配與靜態內存分配有什么區別?到底什么是指針?我堅信通過本例程能夠對這些問題有很深的理解。本例程很簡單,卻是很有深度!當然比起前面的鏈表例程那就簡單多了。

        什么叫編程?答案有很多。我更認同“編程就是數據結構+算法”的觀點。如果不能正真搞懂C語言,所謂的嵌入式開發就很難學得好。學習C語言干什么?計算機語言是用來模擬現實世界的,是用來解決現實生活中的問題的。

      下面的例子可以在VC++6.0編譯平臺運行仿真:

#include "stdio.h"#include "stdlib.h"
/*
“棧”和“堆”存在于內存中的不同地址處,即存在于不同的存儲區。

什么是棧空間?棧空間是靜態內存分配,空間大小由編譯器決定;靜態分配的內存在“棧”里,程序運行結束由系統
自動釋放;函數運行時的臨時數據和以如“char A;”形式聲明的變量空間都屬于靜態內存,存儲在“棧”里,“棧”
是一種先進后出“FILO”的數據結構;所謂“靜態”是指數據結構一旦聲明內存空間就固定不變。

什么是堆空間?堆空間由動態內存分配,大小由運行時malloc()函數(或new())靈活決定;空間大小根據實際需要靈活把握;
malloc()函數動態分配的空間在“堆”里;malloc()函數動態分配的空間必須由程序員通過free()函數(delete())釋放,否則可能會造成內存泄露!是一種先進先出“FIFO”的數據結構;如,“隊列”;

  如,static int=9;//int類型9,存儲在棧里

*/
int main(void)
{
  // char buf[10000];
   int i=0;
   int n;
  
   while(i++<2)//這里i表示循環兩次,也就是說 scanf("%s",buf);操作少于2次!
   {
     scanf("%d",&n);//給n動態賦值
     char * buf = (char*)malloc(n+1);//一定要強制類型轉換,否則報錯!
         if(!buf)//相當于JAVA里的拋出異常,如果動態內存分配失敗
         {
                 perror("malloc");
                 exit(-1);//#include "stdlib.h",屬于C語言庫函數,退出該進程
         }
     scanf("%s",buf);//給buf空間賦值以字符串
     printf("%s\n",buf);//打印出字符串
     free(buf); //將動態空間及時釋放,如果不及時釋放或將該語句注釋掉會怎樣呢?通過仿真發現無法打印出結果!
   
   }
  return 0;
}






歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 一级看片免费视频囗交动图 | 亚洲综合一区二区三区 | 一级黄色夫妻生活 | 日日操日日舔 | 亚洲香蕉 | 人人九九精 | 中文字幕在线免费视频 | 国产成人精品一区二区三区四区 | 欧美日韩中文字幕在线 | 啪视频在线| 国产成人综合久久 | 日韩中文字幕一区二区 | 一区二区三区四区在线播放 | 国产观看| 久久精品视频在线播放 | 亚洲一区二区三区久久 | 欧美亚洲综合久久 | 成人av免费 | 精品日韩欧美一区二区 | 日本黄色大片免费 | 国产精品久久久久不卡 | 国产毛片在线看 | 久久夜色精品国产 | 神马影院一区二区三区 | 在线观看深夜视频 | 91亚洲精品在线观看 | 久国产视频 | av一区二区三区 | 中文一区二区视频 | 久久久成人免费一区二区 | 日韩一级| 色婷婷久久久亚洲一区二区三区 | 欧美日韩1区2区3区 欧美久久一区 | 亚洲在线视频 | a久久 | 在线观看黄视频 | 日韩欧美在线一区二区 | 久久久久久高潮国产精品视 | 色在线看| 久久久久久久久久久久久久av | 亚洲午夜视频 |