百科问答小站 logo
百科问答小站 font logo



为什么指针不能相加? 第1页

  

user avatar   pansz 网友的相关建议: 
      

C语言纯量类型的类型信息只在编译阶段有效,运行期间各种纯量类型没有区别。指针本身与整数都属于纯量类型(区别于结构或对象)。

即便C++在有rtti的情况下记录了对象类型的实际类型,但一个单纯的指针作为指针还是整数使用从反汇编的角度来看也是没有区别的。

另外,如果你把指针强制当整数使用,当然是可以相加的,这不仅在操作还是在编译上都没有问题。还是那句话,对C语言来说,编译成代码之后指针跟整数就没有区别了。所以无论你使用指针还是整数类型,对反汇编的玩家来说都一样。


看到题主补充了一些,我再提示一下,外挂与你源代码怎么写没有任何关系,因为你编译的程序本来也就看不见源代码,也看不见for循环,也看不见变量名。

游戏的程序编译之后本来就是你能想象的最天书的样子。防外挂在原理上就是不现实的,因为外挂根本不依赖你的源代码怎么写。




  

相关话题

  大一新生做C语言课设被强制要求使用 Borland C++ 3.1,此IDE相对于其他IDE有何优点? 
  c++中指针的作用是什么呢?单纯的用引用不可以吗? 
  C语言中while(a=10);和while(a==10);有什么区别? 
  像C语言这样的编译型语言能否在不同CPU上,通过相同标准库的编译器,用源代码实现跨平台? 
  感觉 C++ 很简单,但为何这么多劝退的? 
  为什么C语言中计算机认为0是假的,其他数都是真的? 
  在编程语言中,循环语句为何选择 while 而不是 when 作为关键词? 
  学C#后还有必要学C语言吗? 
  学C#后还有必要学C语言吗? 
  在手机上C语言编译器运行while(system(“pause”))为什么会导致手机重启? 

前一个讨论
中国汽车品牌有哪些达到世界先进水平的自主技术?
下一个讨论
在医院实习,看见患者就心生厌恶,我该怎么办?





© 2024-11-08 - tinynew.org. All Rights Reserved.
© 2024-11-08 - tinynew.org. 保留所有权利