我试图理解C语言中struct和typedef的概念,所以我创建了这个简单的程序,但是由于某些原因它不能工作。

#include <stdio.h>
#include <stdlib.h>

typedef struct testT{

    int number;

} testT;

int main()
{
    testT.number=10;

    printf("%d", testT->number);
}

但是,它给了我
错误:需要标识符或“(”在“.”之前)标记
为什么会出现这种情况?
谢谢

最佳答案

testT是一种类型,就像int一样,您需要使用一个变量:

testT t;
t.number=10;
printf("%d", t.number);

还要注意,应该使用点运算符.,因为箭头运算符->用于指向struct的指针。

10-04 15:07