struct telephone
{
char *name;
int number;
};
int main()
{
struct telephone index;
index.name = "Jane Doe";
index.number = 12345;
printf("Name: %s\n", index.name);
printf("Telephone number: %d\n", index.number);
return 0;
}
我能知道为什么char类型需要一个指针才能工作,但int不需要吗?
答案 0 :(得分:1)
如果这是你想要的,你只需char*
。此处的名称指向char
的序列。如果您希望struct
包含单个char
,则可以这样做。
答案 1 :(得分:0)
当然,您可以将char
放入struct
。当然,在这种情况下,它只是char
,而不是指向char
的指针(即C中的string
)。
例如:
struct telephone
{
char name; // a char
int number;
};
int main()
{
struct telephone index;
index.name = 'a'; // assign a char
index.number = 12345;
printf("Name: %c\n", index.name); // print a char
printf("Telephone number: %d\n", index.number);
return 0;
}
答案 2 :(得分:0)
该角色需要是一个指针,因为它被用作“字符串”。这就是字符串声明在C中的样子。指针指向字符串中的第一个字符。向指针添加+1将为您提供C-String中的下一个字符。
答案 3 :(得分:0)
你也可以骗过。但它只是一个角色。 char *是一个字符串(把它想象为字符数组) 像int *就像一个int数组。
指针指向字符串的第一个字符。