gpt4 book ai didi

c - C语言中指针的使用和赋值

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

以下代码的输出是什么,我不明白 *x 和 x 之间有什么区别,我认为是,是吗?

int a = 5 ;
int * xxx ;
xxx = a;
printf("\n\n%d" , *xxx);
printf("\n\n%d" , xxx);
*xxx = a;
printf("\n\n%d" , *xxx);
printf("\n\n%d" , xxx);

最佳答案

您没有将a的地址分配给指针xxx,而是传递它的值。此代码将调用未定义的行为。你会得到任何东西。改变

xxx = a; 

x = &a;  

现在x是指向a的指针,当一元运算符*与指针一起使用时,它会检索存储在该地址的值x 指向。这称为解引用。
另外,要打印地址,请使用 %p 说明符。

printf("\n\n%p" , (void *)x);

关于c - C语言中指针的使用和赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20697349/

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