相关疑难解决方法(0)

为什么默认情况下没有使用NULL初始化指针?

有人可以解释为什么指针没有初始化NULL
例:

  void test(){
     char *buf;
     if (!buf)
        // whatever
  }
Run Code Online (Sandbox Code Playgroud)

程序不会进入if,因为buf它不是null.

我想知道为什么,在什么情况下我们需要一个带垃圾的变量,特别是指针解决内存上的垃圾问题?

c++ memory pointers initialization

117
推荐指数
7
解决办法
7万
查看次数

C++中的变量初始化

我的理解是int变量将0自动初始化; 但事实并非如此.下面的代码打印一个随机值.

int main () 
{   
    int a[10];
    int i;
    cout << i << endl;
    for(int i = 0; i < 10; i++)
        cout << a[i] << " ";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)
  • 什么规则(如果有的话)适用于初始化?
  • 具体来说,在什么条件下变量自动初始化?

c++ variables initialization

42
推荐指数
3
解决办法
6万
查看次数

标签 统计

c++ ×2

initialization ×2

memory ×1

pointers ×1

variables ×1