链表创建为什么需要使用内存分配?
生活随笔
收集整理的這篇文章主要介紹了
链表创建为什么需要使用内存分配?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
假如有1000個已經定義的結構體,能否直接創建鏈表?
(1)這是可以的,但是這樣就違背了鏈表出現的初衷(動態擴展)。
(2)另外,直接在全局定義的結構體,存儲在靜態存儲區;在函數內定義的結構體,存儲在棧區;而使用malloc來申請空間的結構體,存儲在堆空間中。鏈表一般都放在堆空間中。
如下面段代碼,提前定義了結構體數組,然后串聯成類似“鏈表”的形式。
struct MyStruct {int a;struct MyStruct* next; };int main(void) {struct MyStruct node[6];int k;for (int i = 0; i < 5; i++){scanf("%d", &k);node[i].a = k;node[i].next = &node[i + 1];}node[5].a = 44;node[5].next = NULL;struct MyStruct* temp = &node[0];while (temp!= NULL){printf("%d", temp->a);temp = temp->next;}getchar(); getchar(); return 0; }創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的链表创建为什么需要使用内存分配?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux ssh抓包,如何在SSH连接
- 下一篇: 运营商大数据