您的位置:首页 > 编程语言 > C语言/C++

C语言(概念术语装逼犯)

2016-04-01 08:52 267 查看


什嘛!?二级指针跟二维数组的关系? 一维数组指针是否等价于二维数组的地址?怎么定义数组指针数组?!别跑!看我揍死你丫的装逼犯!

 

拓展:

一维数组的运算等价于一级指针,比如 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] 型数据。我们的确不需要使用这样的复杂概念,但你如果想辅导学妹,这是你装逼的资本。对了,出门右转有一家名为秘籍酷的公众号,每天为广大信徒符施一小瓶装逼水,不以细流无以成江海,不积跬步无以至千里,建议长期服用!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: