【发布时间】:2015-02-09 03:05:10
【问题描述】:
我正在学习 c 中的结构,但有一些技巧让我感到困惑 所以如果我们有这样的结构
struct Person{
char* name;
int age;
int weight;
int height;
};
现在它是一种复合数据类型,我可以像处理其他数据类型一样处理它。 当我指向这个结构时
struct Person pointer=malloc(sizeof(Person));
如果我的问题是结构体,现在 c 指向内存中的地址
A) 真的 c 知道 Person 由 4 个变量组成,名称为 name、age、weight、height,并将该实体复制到指针指向的新位置?
B)这两种语法有什么区别?
struct Person *pointer=(Person*)malloc(sizeof(Person));
struct Person *pointer=malloc(sizeof(Person));
C)我不熟悉这个函数减速语法,所以任何人都可以向我解释一下(函数名是一个指针)?
struct Person *Person_create(char* name, int age, int height, int weight){...}
【问题讨论】: