DELPHI声明一个指针变量,什么时候需要分配内存,什么时候不需要分配内存?比如我定义个变量 var p:Pchar;如果这个变量声明为全局变量,需要分配内存吗?分配为局部变量,需要分为内存吗?为什么?我们经常用的一个例子比如P:=‘12345’:上面一个例子,我们没有分配内存,就可以直接使用了,但是有时候会看到对P使用GetMem来分配内存,那么什么时候我们可以直接使用,什么时候需要用GetMem来分配内存呢? 无论是全局,还是局部的,只需要你深入理解指针和常量就行了. 1.'12345'是
产品 compiler Version version bds 2007-WIN32 VER 180 185 11 5.0 2009 VER 200 13 6.0 XE VER 220 15 8.0 XE7 VER 280 21 15.0 Product Name Version Conditional Define CompilerVersion Embarcadero RAD Studio 10.1 Berlin 24.0 VER310 31 Embarcadero RAD
将项目的“可编译不安全代码”属性设置为true就可以了,方法如下:项目属性对话框->配置属性->生成->允许不安全代码块 namespace Pointer { struct XYZ { public int a; public int b; public int c; bool b1; }; class Program { //静态变量存储在堆上,查看指针时需用fixed固定 static int m_sZ = 100; //普通数据成员,也是放在堆上了,查看指针时需用fixed固定