若结构体struct person定义如下:struct person{char name[20];int age;};则下列声明和语句正确的是( ) 。
A. struct person p1; scanf("%s%d", p1.name, p1.&age);
B. struct person p1; p1={"Zhang", 20};
C. struct person p1; scanf("%s%d", p1->name, &p1->age);
D. struct person p1={"Zhang", 20};