Juniorboy 发表于 2020-5-2 18:04:49

*这个符号的问题

这个*号,什么时候是表示指针变量的标识符,什么时候是取值啊。
之前有一个程序是这样的
char a = ‘f’;
char *pa = &a;这条语句和pa = &a有什么区别呢。

qiuyouzhi 发表于 2020-5-2 18:10:23

本帖最后由 qiuyouzhi 于 2020-5-2 18:17 编辑

*号是用于定义指针变量的,
但只在定义时是用于定义的,
其他时候都是取值/乘号。

Juniorboy 发表于 2020-5-2 18:39:05

qiuyouzhi 发表于 2020-5-2 18:10
*号是用于定义指针变量的,
但只在定义时是用于定义的,
其他时候都是取值/乘号。

pa = &a这个是给指针变量pa,指向的a的地址,
那*pa = 2就是把指针变量里面的赋值为2吗

qiuyouzhi 发表于 2020-5-2 18:40:52

Juniorboy 发表于 2020-5-2 18:39
pa = &a这个是给指针变量pa,指向的a的地址,
那*pa = 2就是把指针变量里面的赋值为2吗

是的,但第一个要写成*pa = &a。

Juniorboy 发表于 2020-5-2 18:44:55

qiuyouzhi 发表于 2020-5-2 18:40
是的,但第一个要写成*pa = &a。

char str;
char *target
target = str;
应该这样吧,那样写会报错的

qiuyouzhi 发表于 2020-5-2 18:46:15

Juniorboy 发表于 2020-5-2 18:44
应该这样吧,那样写会报错的

额,是字符数组啊。。。

Juniorboy 发表于 2020-5-2 19:06:59

qiuyouzhi 发表于 2020-5-2 18:46
额,是字符数组啊。。。

您的意思我还是没明白,如果要是写成*pa = &a的话不就是取值了吗,把a的地址赋值给pa吗?,我觉得是*pa = a,因该这样啊
页: [1]
查看完整版本: *这个符号的问题