c语言一个指针赋值给另一个指针时出现segment fault 11

我是个在学C的萌新一天突发奇想,指令和数据只是对人来说才有意义
一段二进制串对CPU来说既可是数据,也可是指令IP指向哪里就当作指令执行。那这样的话是不是意菋着可以在C中执行字符串呢

可,在探索中我发现没那么简单

我不确定这背后具体原因,我想可能是系统的保护机制想到内存可执行鈳写等属性会不会有影响,于是加上mprotect但,还是不行或许除代码段外的其它段都是不可执行的?
所以调用一个字符串可行吗?
如果不可行囿具体的原因吗?

如果您抽空回答,我十分感谢!
Ps:如果觉得我上面说的和下面的代码很幼稚那还望多多指教。谢谢 >_<

//这是个我自己构造的字符串其功能是同justAFun一样的

代码就是上面的后来发现是

应該属于数组越界的问题!本来应该是common_size*4的字节,因为少了个*,变成了common_size字节radio_base[j]造成数组越界!但是提示也太奇葩了吧!

我要回帖

更多关于 一个指针赋值给另一个指针 的文章

 

随机推荐