1. 程式人生 > 其它 >關於建立棧時,宣告結構體變數或指標的問題

關於建立棧時,宣告結構體變數或指標的問題

技術標籤:連結串列

例1

#define MAXSIZE 5

typedef struct
{
	int data[MAXSIZE];
	//用於棧頂指標
	int top; 
 } SqStack;
 

此時,結構體中SqStack的記憶體已經被分配好了,可以直接使用,宣告一個結構體變數就行。
main函式呼叫1


int main()
{
	SqStack S;int e;
	Push(&S, 3);
	Pop(&S, &e);
	printf("%d", e);
 } 

例2

//定義結構體
typedef struct Node
{
	int
data; struct Node *next; }Node; typedef struct Node *LinkList; //寫一個初始化連結串列 Node* InitList() { LinkList head = (LinkList)malloc(sizeof(Node)); if (head==NULL) exit(-1); head->next = NULL; printf("建立成功\n"); return head; }

此時宣告指標,需要將Node的記憶體進行malloc分配後再使用。
main函式呼叫2

	int main
() { Node *head = InitList();//初始化 }