一段C代码,可能与内存有关

Tas*_*sos 1 c pointers function

几天前我踩了下面的代码,我不知道它到底做了什么.

int (*func) ();
func = (int (*) () ) some_array_here;
(int) (*func) ();
Run Code Online (Sandbox Code Playgroud)

第一行看起来像一个整数指针,但()s错误我.第二行看起来像演员和第三行,我真的不知道.你们能帮忙吗?谢谢

Oli*_*rth 9

第一行声明一个函数指针.第二行转换some_array_here为函数指针.第三行通过该指针调用函数调用.

我的猜测是上下文是某种shell编码示例(即执行用户注入的代码).你不应该在现实生活中这样做.