什嘛!?二級指針跟二維數組的關係? 一維數組指針是否等價於二維數組的地址?怎麼定義數組指針數組?!別跑!看我揍死你丫的裝逼犯!
拓展:
一維數組的運算等價於一級指針,比如 int a[5],在運算時a就是被當做 int *a 來看待的(當然初始化和sizeof語句除外)。
二維數組的運算也等價於一級指針,只不過是一個一維數組指針,比如 int b[2][3],在運算時b就是被當做 int (*b)[3]來看待的(當然初始化和sizeof語句除外)。
三維數組的運算也等價於一級指針,只不過是一個二維數組指針,比如 int c[2][3][4],在運算時c就是被當做 int (*c)[3][4]來看待的(當然初始化和sizeof語句除外)。
此時,機智的你可以總結出一個非常重要的規律:一切數組,在運算時(當然初始化和sizeof語句除外)都將被視爲一個一級指針,具體而言:被視爲一個指向其首元素的指針。這條鐵律可以讓你有很多談資輔導學妹了。
“數組指針數組”這種八百年也遇不上的東西,只適用於理論研究,它指的是類似於下面w這樣的東西:
int a[5], b[5], c[5];
int (*w[3])[5] = {&a, &b, &c};
w就是一個數組指針數組,它包含了3個元素,這3個元素都是指針,並且可以指向int [5] 型數據。我們的確不需要使用這樣的複雜概念,但你如果想輔導學妹,這是你裝逼的資本。對了,出門右轉有一家名爲祕籍酷的公衆號,每天爲廣大信徒符施一小瓶裝逼水,不以細流無以成江海,不積跬步無以至千里,建議長期服用!