r****o 发帖数: 1950 | 1 请问,像C语言里面的
char (*(*x())[])()
或
char (*(*x[3])())[5]
这样的比较复杂的表达式,有什么简单的办法能快速辨析出它们的含义吗? |
e**u 发帖数: 409 | 2 c-faq.com里面有个关于这个的文章,好像是一个螺旋什么方法
【在 r****o 的大作中提到】 : 请问,像C语言里面的 : char (*(*x())[])() : 或 : char (*(*x[3])())[5] : 这样的比较复杂的表达式,有什么简单的办法能快速辨析出它们的含义吗?
|
z****e 发帖数: 2024 | 3 即使辨析除了含义,也讲不清楚。
大志的方法,就是从中间开始,然后左边看一眼,右边看一眼。
【在 r****o 的大作中提到】 : 请问,像C语言里面的 : char (*(*x())[])() : 或 : char (*(*x[3])())[5] : 这样的比较复杂的表达式,有什么简单的办法能快速辨析出它们的含义吗?
|
j**l 发帖数: 2911 | 4 这种题技巧性太强,就好比实际中,三维数组和三重指针就很少用到一样.
onsite时候几乎不会问的
再比如这样的题,比较bt
++i + ++i + i++
【在 r****o 的大作中提到】 : 请问,像C语言里面的 : char (*(*x())[])() : 或 : char (*(*x[3])())[5] : 这样的比较复杂的表达式,有什么简单的办法能快速辨析出它们的含义吗?
|
r****o 发帖数: 1950 | 5 不好意思,我上次onsite就被问到了类似的题目。可能这得看公司吧。
【在 j**l 的大作中提到】 : 这种题技巧性太强,就好比实际中,三维数组和三重指针就很少用到一样. : onsite时候几乎不会问的 : 再比如这样的题,比较bt : ++i + ++i + i++
|
P*******b 发帖数: 1001 | 6 这个看不懂
【在 r****o 的大作中提到】 : 请问,像C语言里面的 : char (*(*x())[])() : 或 : char (*(*x[3])())[5] : 这样的比较复杂的表达式,有什么简单的办法能快速辨析出它们的含义吗?
|
j**l 发帖数: 2911 | 7 网上应该能搜到一些帖子讲这类问题的解读方法,规律还是有一些的,可能最后读出来
的,就是用中文都比较绕,要用几个从句分开说。
基本思想感觉和分析英语或者中文长难句类似,总是要先找到主干,再把修饰部分依次
加入
然后也觉得和有机化学解读长的碳式结构的名称类似,对各种比较基本的基要熟悉。至
少这里的一个基础知识点是,分清指向函数的指针和返回指针的函数,两者就差一对括号
【在 r****o 的大作中提到】 : 不好意思,我上次onsite就被问到了类似的题目。可能这得看公司吧。
|
r****o 发帖数: 1950 | 8 C Programming Language里面有这类问题的描述。
括号
【在 j**l 的大作中提到】 : 网上应该能搜到一些帖子讲这类问题的解读方法,规律还是有一些的,可能最后读出来 : 的,就是用中文都比较绕,要用几个从句分开说。 : 基本思想感觉和分析英语或者中文长难句类似,总是要先找到主干,再把修饰部分依次 : 加入 : 然后也觉得和有机化学解读长的碳式结构的名称类似,对各种比较基本的基要熟悉。至 : 少这里的一个基础知识点是,分清指向函数的指针和返回指针的函数,两者就差一对括号
|
a****l 发帖数: 8211 | 9 普通的表达式是中缀表达式,根本的意思就是从中间看起,然后左边看一下右边看一下.
【在 z****e 的大作中提到】 : 即使辨析除了含义,也讲不清楚。 : 大志的方法,就是从中间开始,然后左边看一眼,右边看一眼。
|
f*******5 发帖数: 52 | |