我只是确保我正确理解了这个概念。使用 * 运算符,我创建了一个新变量,它在内存中分配了一个位置。为了避免不必要地重复变量及其值,& 运算符用于将值传递给方法等,它实际上指向变量的原始实例,而不是制作新副本……对吗?这显然是一种肤浅的理解,但我只是想确保我没有把它们搞混。谢谢!
最佳答案
不完全是。您将出现在类型名称(用于定义变量)中的 *
与 *
运算符混淆。
int main() {
int i; // i is an int
int *p; // this is a * in a type-name. It means p is a pointer-to-int
p = &i; // use & operator to get a pointer to i, assign that to p.
*p = 3; // use * operator to "dereference" p, meaning 3 is assigned to i.
}
关于c - c编程中的*和&运算符有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2702156/