程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> struct-請教結構體聲明中內存狀況

struct-請教結構體聲明中內存狀況

編輯:編程解疑
請教結構體聲明中內存狀況

數據結構如下:
typedef struct{
char str[10];
}SElemType;//自定義元素類型。
typedef struct{
SElemType *base;
SElemType *top;
int stacksize;//棧長度。
}SqStack;//順序棧
假設我現在聲明一個數組SqStack Sq[10];那麼這時內存中怎麼個表示情況?這個數組聲明時SElemType中的str[10]數組有沒有同時聲明呢?換句話說,聲明的Sq數組的每個分量中,base,top指針是否為空?

最佳回答:


一個個的回答吧。
1、SqStack Sq[10]表示有長度為10的SqStack類型元素的數組,一個SqStack類型元素占用4(SElemType * base)+4(SElemType * top)+4(int stacksize)=12字節,十個元素就占12 * 10=120字節。

2、SElemType中的str[10]數組沒有被聲明,因為SqStack結構體中只聲明了兩個SElemType 類型的指針。

3、如果沒有賦值,base、top的確為空指針。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved