#include
#include
#include
#include
#include
#pragma warning(disable:4996)
typedef int T[20];
int main(void)
{
T b;
T(*c) = &b;
T* a = &b;
return 0;
}
int(*a1)[20];
int* a2[20];
a的类型是和a1还是a2的类型相同?
c的类型应该是和a1的类型相同吧?
a和c都跟a1是相同类型。
typedef int T[20]; 把int [20]这个类型给包裹起来了,跟#define的普通文本替换是不同的。所以不管*a是否加括号,a都是一个指针,指向一个int [20]的数组。
这个只要放到IDE里调试,监控一下变量就知道了。
另外我还截了a1和a2在监控变量中的样子,你对比一下就知道了
不太清楚,不过可以打印一下吧