gpt4 book ai didi

c - 指针变量存储什么?

转载 作者:行者123 更新时间:2023-11-30 18:20:01 25 4
gpt4 key购买 nike

我输入了这段代码:

char *a;
char b = 'd';
a = b;
printf("%c", a);

输出 - 'd'。

我的疑问是,由于 a 是指针变量,因此它应该存储地址。为什么在这种情况下它要存储字符值?

最佳答案

since a is pointer variable, it is supposed to store address

指针变量也可以存储数值。在大多数系统上,指针变量可以存储 int,尽管没有明确的保证。但是,指针变量能够在所有系统上存储 char 类型的值。

then why in this case is it storing character value?

因为你告诉它这样做。将值存储在指针中并不会使该值成为地址。

注意:您的代码具有未定义的行为。代码产生您期望的输出的原因是系统上的指针表示恰好与 int 的指针表示兼容,这正是 %c 所期望的。

关于c - 指针变量存储什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34530246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com