C 对与结构有关的陈述的意义感到困惑
我很难理解这句话的意思,有人能给我解释一下吗 这是我拥有的结构:C 对与结构有关的陈述的意义感到困惑,c,C,我很难理解这句话的意思,有人能给我解释一下吗 这是我拥有的结构: struct dataT { int m; }; struct stack { int top; struct dataT items[STACKSIZE]; } st; 这就是我感到困惑的立场。我不太明白这是什么意思: st.items[st.top].m st:结构堆栈类型的对象st.top:堆栈顶部st.items:堆栈项数组 st.items[st.top]:堆栈的顶部项目st.items[s
struct dataT
{
int m;
};
struct stack
{
int top;
struct dataT items[STACKSIZE];
} st;
这就是我感到困惑的立场。我不太明白这是什么意思:
st.items[st.top].m
st:结构堆栈类型的对象st.top:堆栈顶部
st.items:堆栈项数组
st.items[st.top]:堆栈的顶部项目
st.items[st.top].m:成员
m
堆栈顶部项目的
如果将3
和5
推入堆栈中,它看起来像(堆栈向下增长)
此语句从
struct stack
检索st.top
th元素的值。换句话说,如果您的实现以递减的方式递增struct stack
的top
变量,那么它将检索最后一个推送的元素 点(.)用于访问结构的元素
st.items-访问items[STACKSIZE]数组
st.top—访问st的顶部并用作索引
而items数组包含dataT,您可以使用
st.items[st.top].m
在这份声明中
st.items[st.top].m
st表示类型为struct stack
的对象,因为它是以这种方式定义的
struct stack
{
//...
} st;
由于st
被定义为具有结构类型,因此它具有名为items
的数据成员,以下是结构定义本身
struct stack
{
int top;
struct dataT items[STACKSIZE];
};
所以记录st.items
意味着访问对象st
的数据成员items
。结构的此数据成员定义为数组
struct dataT items[STACKSIZE];
使用STACKSIZE
元素。
因此,记录st.items[st.top]
意味着使用数组items
的索引st.top
访问元素。数组的每个元素依次具有类型struct dataT
此结构具有数据成员m
struct dataT
{
int m;
};
从而记录
st.items[st.top].m
表示访问元素的数据成员
m
,该元素具有数组项的索引st.top
,该数据成员位于tirn对象st
的数据成员中,努力使堆栈可视化。
struct dataT
{
int m;
};
st.items[st.top].m