在c语言中,星号(*)运算符用于解引用指针变量,获取所指向变量的值;地址运算符(&)用于获取变量地址。具体比较如下:解引用指针:*取地址:&指针乘法:*位运算:&

C语言中*和&运算符解析与比较
在C语言中,星号(*)运算符和地址运算符(&)运算符是两个重要的运算符,经常用于指针操作和内存管理。本文将深入解析它们的用途和区别,并提供实战案例进行说明。
星号(*)运算符
立即学习“C语言免费学习笔记(深入)”;
例如:
地址运算符(&)运算符
例如:
比较运算符
以下是*和&运算符在不同场景下的比较:
| 运算符 | 场景 | 作用 |
|---|---|---|
| * | 解引用指针 | 获取指向变量的值 |
| & | 取地址 | 获取变量的地址 |
| * | 指针乘法 | 计算指针指向内存空间的大小 |
| & | 位运算(逻辑AND) | 对两个整数进行逻辑与操作 |
实战案例
以下是一个实战案例,演示了*和&运算符如何用于指针操作:
#include <stdio.h>
int main() {
int i = 10;
int *ptr = &i; // ptr指向i
// 通过解引用指针获取i的值
printf("i的值:%d\n", *ptr);
// 通过取地址获取i的地址
printf("i的地址:%p\n", &i);
// 通过指针乘法计算ptr指向的内存空间大小
int size = sizeof(*ptr);
printf("ptr指向内存空间大小:%d字节\n", size);
// 使用指针进行递增
(*ptr)++;
// 打印递增后的i值
printf("递增后的i:%d\n", i);
return 0;
}输出:
i的值:10 i的地址:0x7ffe5247ef4c ptr指向内存空间大小:4字节 递增后的i:11
以上就是C语言中*和&运算符解析与比较的详细内容,更多请关注php中文网其它相关文章!
C语言怎么学习?C语言怎么入门?C语言在哪学?C语言怎么学才快?不用担心,这里为大家提供了C语言速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号