[技术问答] 如何分辨指针变量*p和取值运算*p?

[复制链接]
5256|57
SophiaOP 发表于 2025-3-17 20:38 | 显示全部楼层
解引用跟指针确实看着容易混
qiufengsd 发表于 2025-3-18 19:35 | 显示全部楼层
在表达式中,* 作为单目运算符,其优先级较高。它会先对指针进行取值操作,然后再进行其他运算。
usysm 发表于 2025-3-18 21:09 | 显示全部楼层
int*p;
在这个例子中,*p用于声明一个指向int类型的指针变量p。这里的*表示p是一个指针,而不是对p进行解引用。
rosemoore 发表于 2025-3-19 11:30 | 显示全部楼层
根据代码上下文判断星号的用途。在变量声明中,星号与变量类型紧密相连,表示该变量为指针类型;而在表达式中,星号单独作用于指针变量,表示取值运算。
fengm 发表于 2025-3-19 15:34 | 显示全部楼层
当*p出现在声明语句中时(如int *p;),它表示定义了一个指针变量。
当*p出现在表达式或语句中时(如*p = 10;或printf("%d", *p);),它表示通过指针访问其指向的数据
phoenixwhite 发表于 2025-3-20 11:39 | 显示全部楼层
当*出现在表达式中时,它通常用于解引用指针,获取指针所指向的值。
albertaabbot 发表于 2025-3-20 13:27 | 显示全部楼层
在变量定义语句里,* 用于表明所定义的变量是指针类型。它的作用是说明该变量将存储一个内存地址。
macpherson 发表于 2025-3-20 14:25 | 显示全部楼层
当我们声明一个指针变量时,星号(*)被置于变量类型之前,用以指明该变量是指向某种数据类型的指针。
mikewalpole 发表于 2025-3-20 14:43 | 显示全部楼层
指针变量是一种用于存储其他变量地址的变量。当声明一个指针变量时,使用星号*来指定该变量是一个指针。例如,int *p;声明了一个指向整型数据的指针变量p。
hearstnorman323 发表于 2025-3-20 15:33 | 显示全部楼层
指针变量本身存储的是一个地址值,即它指向另一个变量或数据的位置。在上面的例子中,p是一个指针变量,它可以存储一个整型变量的地址。
hudi008 发表于 2025-3-20 15:47 | 显示全部楼层
#include <stdio.h>

int main() {
    int a = 10;          // 定义一个整数变量 a
    int *p;              // 声明一个指向 int 类型的指针变量 p

    p = &a;              // 将 a 的地址赋值给 p

    // 打印 a 的值
    printf("Value of a: %d\n", a);

    // 打印 p 的值(即 a 的地址)
    printf("Address of a (value of p): %p\n", p);

    // 打印 *p 的值(即 a 的值)
    printf("Value of *p: %d\n", *p);

    // 修改 *p 的值
    *p = 20;

    // 打印 a 的新值
    printf("New value of a: %d\n", a);

    return 0;
}
robincotton 发表于 2025-3-20 16:02 | 显示全部楼层
int *p;:这是指针变量声明,*p 表示 p 是一个指针。
*p 在 printf 和赋值语句中:这是取值运算,表示解引用指针 p。
zhouyong77 发表于 2025-3-29 17:52 来自手机 | 显示全部楼层
对C语言编程来讲,最难的就是指针应用了。
wex1002 发表于 2025-3-30 22:23 | 显示全部楼层
*p在C里,要么是声明一个指针,要么是访问指针指向的值。
jdqdan 发表于 2025-4-3 19:50 | 显示全部楼层
*符号像一把钥匙,开锁看指针指向的内存内容。
PreWorld 发表于 2025-4-7 08:57 | 显示全部楼层
指针变量用*与变量名连用,表示指向该变量内存地址。
朝生 发表于 2025-4-9 20:11 | 显示全部楼层
*p就像打开一扇门,门后是p指向的那个内存地址里的东西。
软核硬核 发表于 2025-4-12 15:11 | 显示全部楼层
*号用来取出指针指向的内存内容,而指针优先级高于乘法。
LLGTR 发表于 2025-4-15 18:16 | 显示全部楼层
指针在C语言中很复杂,得理解内存地址和间接引用。
Pretext 发表于 2025-4-17 10:20 | 显示全部楼层
星号是取指针指向地址的值,就像手指指向一个东西,星号就是帮你拿到那东西。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部