因此,在下面的代码片段中,我们要求用户为整数分配一些值x.
int x;
scanf("%d", &x);
Run Code Online (Sandbox Code Playgroud)
我很困惑的是为什么我们说"将输入的值放入x的地址",而不仅仅是"让x等于输入的值"?会有什么问题scanf("%d", x)?
在C中,参数按值传递.因此,如果您将其x用作参数scanf,它只获取值的副本x,则不会获得对实际变量的引用x.
通过传递指针,您可以为其提供存储x变量值的内存地址.这允许通过存储到该内存中scanf来修改值x.