gpt4 book ai didi

c - 在C中使用typedef时,它会创建一个新类型还是只创建一个类型名?

转载 作者:太空狗 更新时间:2023-10-29 14:52:15 24 4
gpt4 key购买 nike

#include <stdio.h>
#include <string.h>

typedef struct Books {
char title[50];
char author[50];
char subject[100];
int book_id;
} Book;

int main( ) {

Book book;

strcpy( book.title, "C Programming");
strcpy( book.author, "Nuha Ali");
strcpy( book.subject, "C Programming Tutorial");
book.book_id = 6495407;

printf( "Book title : %s\n", book.title);
printf( "Book author : %s\n", book.author);
printf( "Book subject : %s\n", book.subject);
printf( "Book book_id : %d\n", book.book_id);

return 0;
}

Here in this example, Book is a new Data type or its just an alternate name to structure?

或者换句话说,如果代码是:typedef unsigned char newDType;newDType 是新数据类型还是 unsigned char 的替代名称?

最佳答案

这个问题的最终答案在 ISO C 标准中。 N1570是最新的草稿。第 6.7.8 节第 3 段说:

A typedef declaration does not introduce a new type, only a synonym for the type so specified.

C 标准的所有先前版本中都出现了类似的措辞,至少可以追溯到 1978 年出版的 Kernighan 和 Ritchie (K&R1) 的第一版。

关于c - 在C中使用typedef时,它会创建一个新类型还是只创建一个类型名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40555172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com