當前位置:編程學習大全網 - 源碼下載 - c語言堆棧問題。最近老是出現內存讀不出來什麽的。

c語言堆棧問題。最近老是出現內存讀不出來什麽的。

# include & ltstdio.h & gt

# include & ltmalloc.h & gt

# include & ltstdlib.h & gt

typedef int Elem

typedef結構Pa

{

Elem數據;

struct Pa * next

}listi,* list

列表推送(列表L,元素e)

{

列表p;

p =(listi *)malloc(sizeof(listi));

p->;next = NULL

p->;數據= e;

p->;next = L-& gt;接下來;

l-& gt;next = p;

返回L;

}

列表pop(列表L,Elem & ampe)

{

列表s = NULL

如果(L-& gt;next==NULL)返回0;

其他

{ s = L-& gt;接下來;

e = s-& gt;數據;

l-& gt;next = s-& gt;接下來;

免費;

s = s-& gt;接下來;}

}

int listEmpty(列表L)

{

return(L->;next = = NULL);

}

主()

{

列表ha;int N;elem e;

ha =(listi *)malloc(sizeof(listi));

哈-& gt;next = NULL

Printf("請輸入壹個小數:");

scanf("%d ",& ampn);

Printf("轉換為十六進制:");

當(名詞)

{

推(哈,N % 16);

N = N/16;

}

而(!listEmpty(公頃))

{pop(ha,e);

printf("%x ",e);

}

getchar();

}

妳最大的問題是指針在定義的時候沒有初始化。這就使得指針指向了壹個非法區域,然後試圖訪問這些內存肯定會提示錯誤。以上是我修改過的代碼。。

  • 上一篇:Sac源包
  • 下一篇:妳怎麽看待程序員這個職業?
  • copyright 2024編程學習大全網