我对c ++中的typedef有疑问
例如:
typedef const char* yes[5];
typedef是否给出了const char *的替代名称,因此const char *的替代名称是yes[5]
?这里yes[5]
代表什么?以及如何创建两个yes数组并初始化两个中的一个?
答案 0 :(得分:9)
没有。这声明了一个yes
类型,它是一个包含五个const char *
的数组。
请参阅this link并在文本区域内输入const char *yes[5];
。
答案 1 :(得分:7)
不,这使得yes
为一个包含常量字符数据的5个指针数组的新名称。
考虑它的方法是typedef
看起来像声明之后的表达式,而声明中的名称被认为是新类型的名称,即被声明的类型。
因此typedef int x;
使x
成为int
的新名称。这不会随阵列而改变。