为什么我可以使用别名作为标识符的名称?

时间:2015-05-31 11:52:28

标签: c alias typedef

为什么C允许声明student类型的指针(studenttypedef的结果),其名称为student

typedef struct
{
    char* name;
    int age;
}
student;

student s = {"Mark", 22};
student* student = &s;
printf("%i\n", student->age);

为什么以前的代码有效,而以下代码没有?

int x = 3;
int* int = &x
printf("%i\n", *int);

1 个答案:

答案 0 :(得分:3)

您使用保留关键字JSONObjectWithData作为变量名称。使用别的东西,它会起作用。

NSDictionary

请注意,没有关键字可以用作变量名称或函数名称。

修改:您的学生类型代码会出错:See Here 该错误清楚地显示int