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

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

C语言中*和&的区别及使用方法详解

在 c 语言中, 用于解引用指针,返回指向的值;& 用于取地址,返回指向该变量的指针。 通常用于访问或修改指针所指向的值;& 通常用于创建指针或传递引用。

C语言中*和&的区别及使用方法详解

C 语言中 * 和 & 的区别及使用方法详解

在 C 语言中,*& 运算符用于处理指针,它们之间有着重要的区别。

运算符 *(解引用)

  • * 运算符用于解引用指针,返回指针所指向的值。
  • 语法:*ptr,其中 ptr 是指向变量的指针。

示例:

int *ptr;
int value = 10;
ptr = &value; // 为 ptr 分配 value 的地址
*ptr = 20; // 将 value 的值修改为 20

运算符 &(取地址)

  • & 运算符用于取变量的地址,返回指向该变量的指针。
  • 语法:&var,其中 var 是一个变量。

示例:

int value = 10;
int *ptr = &value; // 为 ptr 分配 value 的地址

区别

  • * 解引用指针,& 取变量地址。
  • * 返回所指向的值,& 返回指向该值的指针。
  • & 通常在创建指针变量或将引用作为函数参数传递时使用。
  • * 通常在访问指针所指向的值或修改该值时使用。

实战案例

以下是一个使用 *& 运算符的实战案例:

#include <stdio.h>

int main() {
    int value = 10;
    int *ptr = &value; // 为 ptr 分配 value 的地址

    // 使用 * 解引用指针并打印值
    printf("Value: %dn", *ptr);

    // 使用 * 修改指针所指向的值
    *ptr = 20;

    // 再次使用 * 打印修改后的值
    printf("Modified value: %dn", *ptr);

    return 0;
}

输出:

Value: 10
Modified value: 20
卓越飞翔博客
上一篇: Python下载文件后找不到路径怎么办?
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏