數據結構如下:
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的確為空指針。