chenci2013 发表于 2025-2-27 16:00

如何分辨指针变量*p和取值运算*p?

https://api.fanyedu.com/uploads/ueditor/image/20241121/1732154030611342.png
int *p;2、取值运算时这里,*p表示对指针p所指向的内存地址进行取值操作,将p指向的值赋给变量value。*号出现在变量名p之前,用来获取指针所指向的值。p = &x;4、修改指针指向的值时这里,*p表示对指针p所指向的内存地址进行赋值操作,将10赋值给p指向的内存地址。*号出现在变量名p之前,用来指定要修改指针所指向的值。
声明指针变量:int *p;,*号在类型和变量名之间。赋值给指针:p = &x;,不涉及*号。修改指针指向的值:*p = 10;,*号在变量名之前,用于修改指针所指向的值。

zhuomuniao110 发表于 2025-2-27 21:00

应该是看P是不是指针了。

zhuomuniao110 发表于 2025-2-27 21:01

在C语言中,*p 的语义取决于上下文环境。它可以表示 指针变量声明 或 取值运算。

海市蜃楼神秘 发表于 2025-3-4 13:31

首先看p是什么,如果P是指向指针的指针呢,*p 意义又不一样了。

mickit 发表于 2025-3-10 17:14

1. 指针变量 *p
声明:int *p; 表示 p 是一个指向 int 类型的指针变量。
含义:p 存储的是一个 int 类型变量的地址。
使用:p 本身是一个变量,可以对其进行赋值、比较等操作。
2. 取值运算符 *p
含义:*p 表示 p 指向的内存地址中存储的值。
使用:通过 *p 可以访问或修改 p 指向的内存地址中的内容。

kkzz 发表于 2025-3-10 18:04

遵循C语言的语法规则。在声明语句中,指针类型声明总是位于变量名之前;而在表达式中,取值运算的星号则紧跟在指针变量之后。

sdlls 发表于 2025-3-11 13:05

指针变量 *p:表示 p 是一个指向 int 类型的指针变量,存储的是一个地址。
取值运算符 *p:表示 p 指向的内存地址中存储的值,可以通过 *p 访问或修改该值。

mattlincoln 发表于 2025-3-11 14:26

在非定义语句的表达式中,* 作为取值运算符,用于获取指针所指向的内存地址中的值。

biechedan 发表于 2025-3-14 20:58

指针变量声明:*p 出现在变量声明中,表示 p 是一个指针。
取值运算:*p 出现在表达式中,表示解引用指针,取出指针所指向的值。

loutin 发表于 2025-3-15 00:49

如果*p后面跟着赋值操作或其他表达式操作,那么它很可能是取值运算符。
如果*p前面有类型声明并且后面没有立即跟随表达式或语句,那么它可能是指针变量的定义

febgxu 发表于 2025-3-15 03:59

通过长期阅读和编写C语言代码,培养对指针和取值运算的敏感度和理解力。习惯上,我们会在脑海中将指针声明中的星号与变量类型视为一个整体,而将取值运算中的星号视为对指针的操作。

uptown 发表于 2025-3-15 07:34

在定义指针变量时,* 与变量名紧密结合。

tabmone 发表于 2025-3-15 11:14

取值运算中的星号(*)则用于获取指针所指向的内存地址中的值。

janewood 发表于 2025-3-15 14:24

在 int value = *p; 语句里,*p 进行的是取值运算,它会取出 p 所指向的内存地址中存储的值,也就是 num 的值 10,并将其赋给变量 value。

febgxu 发表于 2025-3-15 19:39

*p用于获取指针p所指向的内存地址中的值。*在这里是解引用运算符,表示取出p指向的值。

sdCAD 发表于 2025-3-15 20:07

指针变量 p 是“地址容器”,用于间接访问内存。
​取值运算 *p 是“数据窗口”,用于读取或修改内存值。

claretttt 发表于 2025-3-16 14:08

在表达式中,* 作为单目运算符,其优先级较高。它会先对指针进行取值操作,然后再进行其他运算。

albertaabbot 发表于 2025-3-16 14:56

int *p;‌:声明一个指向int类型的指针变量p。
*p:在表达式中用于解引用指针p,获取p所指向的值。

uytyu 发表于 2025-3-16 15:52

取值运算符*p表示获取指针变量p所指向的内存地址中的值。在上面的例子中,如果p指向a,那么*p就是a的值。

幻想收藏家 发表于 2025-3-17 19:38

对于初学者来说很有帮助,希望能看到更多类似的编程基础知识分享
页: [1] 2
查看完整版本: 如何分辨指针变量*p和取值运算*p?