我有几个问题。我很难理解这段代码。它到底在做什么?
例如:
typedef struct dynArrStruct 的作用是什么?为什么它的末尾有 dynArr?我知道 typedef 的定义是“允许为已知数据类型创建别名”,但这对我来说是行话。有人可以尝试用通俗易懂的方式表达吗?谢谢!
为什么有 2 个结构变量 (a1/a2)?
如果需要,链接到完整代码:
http://www.cs.uic.edu/pub/CS211/CS211LectureNotesS13/dynArr.c
typedef struct dynArrStruct
{
double *location;
int length;
int currSize;
} dynArr;
int main (int argc, char**argv)
{
struct dynArrStruct a1;
dynArr a2;
int i;
//rest of code
}
最佳答案
What does
typedef struct dynArrStruct
do and why does it havedynArr
at the end of it?
typedef
创建一个类型的别名,以节省您的输入时间,或提高可读性。在这种特殊情况下,它为 struct dynArrStruct
创建了一个名为 dynArr
的别名。
没有 typedef
,即只有这个
struct dynArrStruct
{
double *location;
int length;
int currSize;
};
每次您需要声明该struct
类型的变量时,您都将被迫编写struct dynArrStruct
。有了 typedef
,您可以简单地编写 dynArr
,编译器将为您将其解释为 struct dynArrStruct
。
关于c - 动态数组堆栈结构 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14948529/