数组那些不为菜鸟所知的秘密(一)
数组不为菜鸟所知的秘密 #include<iostream> using namespace std; //数组指针与指针数组 /* int(*p)[5]数组指针本质是指针,指向元素个数为5的数组 int *p[5]指针数组本质是数组因为[]的优先级比*高p先和[]结合 */ int main1() { char a[5] = { 'A', 'B', 'C', 'D' }; char(*p1)[5] = &a; cout << p1 << endl;//02FFA54 cout << p1 + 1 << endl;//02FFA59 //char(*p2)[10] = &a;//error C2440: “初始化”: 无法从“char (*)[5]”转换为“char (*)[10] //char(*p2)[3] = &a;// error C2440 : “初始化” : 无法从“char(*)[5]”转换为“char(*)[3] //char(*p2)[5] = a;出错 //&a代表整个数组的首地址,a代表数组首元素的首地址 system("pause"); return 0; } int main2() { struct Test { int Num; char *pcName; short sDate; char cha[2]; short sBa[4]; }; Test