首页 > 后端开发 > C++ > 正文

c语言中*与&的区别

下次还敢
发布: 2024-04-28 09:42:39
原创
549 人浏览过

在C语言中,(星号)用于间接寻址和取值,而&(地址符)用于取地址和引用。获取变量或指针指向的值,用于修改值和声明指针变量;&获取变量地址,用于分配地址给指针变量和传递地址作为函数参数。

c语言中*与&的区别

C语言中*与&的区别

符号*和&在C语言中是不同的运算符,用于不同的目的:

含义:

  • 星号*:表示间接寻址或指针取值运算符。
  • 地址符&:表示取地址或引用运算符。

用途:

星号*:

  • 获取变量或指针指向的变量的值。
  • 修改变量或指针指向的变量的值。
  • 作为指针变量的声明的一部分。

地址符&:

  • 获取变量的地址(内存位置)。
  • 将变量的地址分配给指针变量。
  • 传递变量的地址作为函数参数。

示例:

int main() {
    int x = 10;
    int *ptr = &x;  // ptr指向x的地址

    // 获取x的值
    printf("x = %d\n", x);

    // 使用指针获取x的值
    printf("*ptr = %d\n", *ptr);

    // 使用指针修改x的值
    *ptr = 20;
    printf("x = %d\n", x);  // x的值已经改变为20

    return 0;
}
登录后复制

注意:

  • *ptr表示指针变量ptr指向的变量的值,而&x表示变量x的地址。
  • 通常情况下,指针变量是一个类型为“变量类型*”的变量,指向特定类型的变量。
  • 取地址和间接寻址运算符可以组合使用来实现指针算术和其他高级数据结构。

以上是c语言中*与&的区别的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板