【发布时间】:2014-10-29 14:56:45
【问题描述】:
我是编程新手,目前正在学习 C 中的指针。
- 我知道指针是包含或保存另一个变量地址的变量。今天,当我通过 K&R 进一步了解它时,我对第 80 页的给定函数 swap(&a,&b) 中的“&a 是指向 a 的指针”的一行感到困惑。&a 如何是指针?它不是变量,它是变量的地址。我说的对吗?
- 我知道参数可以通过两种方式传递给函数:按值调用和按引用调用。调用者的参数值在第一个中没有更改,但在第二个中可以更改。
我的问题是我已经读过,如果我们想更改变量的值,我们必须将指针传递给它(即我们要修改的值的位置)。这是什么意思?我的意思是,我们必须将指针传递给函数吗?语句的含义是什么,“我们必须将指针传递到我们要修改的位置”。
【问题讨论】:
-
有些人用“指针”表示“指针变量”。特别是“...指针是变量”只有在您使用“指针”作为“指针变量”的简写时才成立。任何 表达式 都可以是指针类型。
&a是一个表达式(它有一个指针类型)。
标签: c pointers memory-address