卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章49972本站已运行31122

c语言中*与&的区别

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

c语言中*与&的区别

C语言中*与&的区别

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

含义:

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

用途:

星号*:

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

地址符&:

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

示例:

<code class="C">int main() {
    int x = 10;
    int *ptr = &amp;x;  // ptr指向x的地址

    // 获取x的值
    printf("x = %dn", x);

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

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

    return 0;
}

注意:

  • *ptr表示指针变量ptr指向的变量的值,而&x表示变量x的地址。
  • 通常情况下,指针变量是一个类型为“变量类型*”的变量,指向特定类型的变量。
  • 取地址和间接寻址运算符可以组合使用来实现指针算术和其他高级数据结构。
卓越飞翔博客
上一篇: c语言中的%和/的区别
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏