在 C 语言中,*
和 &
是两个重要的运算符,它们分别表示指针和地址的意义。
*
(指针运算符)
在 C 语言中,*
可以用于多种上下文中,主要有两个重要的用途:
声明指针: 在变量声明时,
*
用于指定一个变量是指针。例如:cint *ptr;
这里
ptr
是一个指向int
类型数据的指针。这意味着ptr
可以存储一个int
类型变量的地址。解引用操作符: 在使用指针访问其所指向的值时,使用
*
运算符进行解引用。例如:cint x = 10; int *ptr = &x; // ptr 存储了变量 x 的地址 printf("%d", *ptr); // 输出变量 x 的值,*ptr 是解引用操作符
在这里,
*ptr
访问了指针ptr
所指向的变量x
的值,输出为10
。
&
(地址运算符)
&
运算符用于获取变量的地址。它的主要用途是:
获取变量的地址: 返回变量在内存中的地址。例如:
cint x = 10; int *ptr = &x; // ptr 存储了变量 x 的地址
在这里,
&x
返回变量x
的地址,这个地址可以被指针ptr
存储和使用。
总结来说:
*
在 C 中用于声明指针和解引用操作。&
在 C 中用于获取变量的地址。
这些运算符是 C 语言中重要且基础的概念,理解它们对于理解和使用指针在 C 语言中至关重要。