Visual c++ Visual C中指针的默认值++;6 VisualC++ 6中指针的默认值是什么?

Visual c++ Visual C中指针的默认值++;6 VisualC++ 6中指针的默认值是什么?,visual-c++,Visual C++,如果有关系的话,我的问题特别涉及堆栈上的变量 在这种情况下,myArray最初是空指针还是具有未定义的值 double* myArray; 这是垃圾 您的myArray将有一个未定义的垃圾值。即使VC++ 6绝对保证使用特定的值,它仍然是由C++标准定义的。您应该不惜一切代价避免使用特定于编译器的功能。您可能认为现在不需要将代码移动到另一个编译器,但迟早会这样做,它会崩溃 很难说: double* myArray = NULL; Visual C++ 6中没有默认指针。如果未声明,则指针未

如果有关系的话,我的问题特别涉及堆栈上的变量

在这种情况下,myArray最初是空指针还是具有未定义的值

double* myArray;

这是垃圾

您的myArray将有一个未定义的垃圾值。即使VC++ 6绝对保证使用特定的值,它仍然是由C++标准定义的。您应该不惜一切代价避免使用特定于编译器的功能。您可能认为现在不需要将代码移动到另一个编译器,但迟早会这样做,它会崩溃

很难说:

double* myArray = NULL;

Visual C++ 6中没有默认指针。如果未声明,则指针未初始化,因此该值将未定义(表示“垃圾”)。这就是为什么建议在声明指针时(或在类的指针成员的构造函数的初始化列表中)初始化指针作为最佳实践的原因

未定义。
C++没有为未初始化指针定义默认值。< /P> 如果使用visual studio在调试中运行,则未初始化变量的初始值有时类似于0xCDCD。该值根据变量在堆栈上或堆上的位置而变化。然而,这在发布版本中是不正确的,您不能以任何方式依赖它


关于这些值。

指针在运行时定义为占用内存中的某个特定位置。它的初始值将由恰好位于该位置的任何位模式定义。没有办法提前确定

如其他地方所述,使用null初始值或任何您最方便的值来声明它