printf("variable = %d\n\n",*variable);
*variable=j;
printf("j= %d",j);
我的代码中有一点如果我打印出变量,指针指向它打印正确的数字,但当我尝试将其复制到另一个变量(在这种情况下为j)时,它给了我一个完全不同的变量(我假设它是一个内存地址,因为它在我编辑程序时会改变)但是。我做错了什么?
答案 0 :(得分:4)
您要将j
分配给*variable
,而不是另一种方式,请尝试这样
j = *variable;
我认为它是一个内存地址,因为它在我编辑程序时会发生变化
这不是一个内存地址,当你试图打印它时,似乎j
是未初始化的,在这种情况下,你看到的打印确实是不确定的,它被称为垃圾,它可以是任何东西,它可以改变时你也改变了程序。在这种情况下,行为也是 undefined ,因此在未初始化的情况下进一步使用j
可能会使整个程序以未定义的方式运行。