我已经尝试了许多教程,并且变得更加困惑。因此,请教给这个菜鸟最简单的答案。如果可能的话,那就坚持这个问题……我信息超载:)

首先主要功能

main(){
  int y=0;
  display(&y);
}

现在的功能
int display(int* x){
  //do something depending on different values of x
}

一种情况是以下情况:
“如果未指向任何变量,即,如果变量的地址为NULL,则您的函数会将变量的值设置为零。”

现在我需要了解显示功能
if (x==NULL)
   *x=0;

现在这是我要坚持的地方...
-如果我使用display(NULL)调用函数;我在Visual中得到以下错误
“BTP 300 A1.exe中0x00C84036的未处理异常:0xC0000005:访问冲突写入位置0x00000000。

如果函数的地址为null,如何从y中存储一些值?

还是这个问题是错误的,它应该将所述值存储在指针变量所指向的地址中,所以该值为空,即y = Null ???

如果int * z是一个空指针,则z指向的地址的值是多少以及所指向的地址中存储的值是什么?

最佳答案

这很可能意味着:

int value_to_display = x? *x: 0;
// do something with value_to_display

即要求将空指针与指向零的指针相同。

07-24 14:01