手把手入門C語言 靜態記憶體分配

2021-10-04 13:13:13 字數 1334 閱讀 1505

特點:靜態記憶體是程式編譯執行後系統自動分配,由系統自動釋放,靜態記憶體是棧分配的;

靜態記憶體分配由系統分配**由系統**

把一級指標傳遞過去,二級指標能夠接收一級指標的位址

在main方法定義一級指標,但是賦值是在func方法賦值

#include

#include

// 在main方法定義一級指標,但是賦值是在func方法賦值

/** 靜態記憶體分配

靜態記憶體分配的特點:執行過後會被**

在主函式中定義乙個指標,指標傳遞給子函式,子函式給賦值

靜態記憶體是系統是程式編譯執行後系統自動分配,由系統自動釋放

*/// 把一級指標傳遞過去,二級指標能夠接收一級指標的位址

// 給一級指標賦值,賦值的是乙個記憶體位址值(*address = 位址;)

void

func

(int

** address)

main()

列印一次時顯示的結果為 100,列印多次時(3次),此時會顯示 100 ,-2 ,-2如果在新增多幾個輸出語句( printf("*ipoint=%d\n",*ipoint);)就變為-2了

#include

#include

/** 靜態記憶體分配

靜態記憶體分配的特點:執行過後會被**

在主函式中定義乙個指標,指標傳遞給子函式,子函式給賦值

靜態記憶體是系統是程式編譯執行後系統自動分配,由系統自動釋放*/c

// 把一級指標傳遞過去,二級指標能夠接收一級指標的位址

// 給一級指標賦值,賦值的是乙個記憶體位址值(*address = 位址;)

*address = &i;**的解釋:

把變數(int** address 2000h)儲存的位址 1000h 對應位址就是ipoint對應的值,修改為 i 的位址 (i的位址為3000h)

*address = &i;執行過後被系統**,系統**過後當我們再去取這個3000h對應的這個的值時,已經沒了

靜態記憶體是由系統幫我們**的

如果不想被**就用動態記憶體

手把手入門C語言 列舉

列舉中的變數是遞增的 預設是0開始 首元素的值是0 include include 列舉中的變數是遞增的 預設是0開始 首元素的值是0 定義乙個列舉 enum weekday main 測試列舉中的變數是遞增的 修改下面的 monday 0,tuesday,wednesday,thursday,fr...

手把手入門C語言 C語言指標

指標的長度 指標初步練習 指標的賦值練習 加深指標的理解 總 1 指標用於存放位址 2 列印值 p 3 加深理解指標實驗 p 123 指標的長度 列印各種指標的長度,所有指標的長度為4個位元組 include include 指標的長度 是4個位元組 能夠傳任何型別的位址 main 四個小實驗 in...

手把手教你Dojo入門

如果僅僅是為了練習dojo,或者進行測試,可以參考下面的步驟。下面的檔案均是在windows下測試 3 瀏覽器 博主使用的是chrome 接下來就可以配置檔案了。tomcat,直接解壓縮就可以了。bin資料夾下面有個startup.bat,雙擊就可以執行。雙擊shutdown.bat停止伺服器。執行...