gpt4 book ai didi

c - 在 C 中将一个 int 值赋给一个指针

转载 作者:行者123 更新时间:2023-12-02 17:39:54 25 4
gpt4 key购买 nike

根据 this伯克利类(class)和this斯坦福类(class),将 int 分配给 pointer 就像这样应该会使我的程序崩溃:

#include<stdio.h>

int main() {

int *p;
*p = 5;

printf("p is %d\n", *p);

return 0;
}

然而,当我在 OSX 10.9.2 上使用 GCC {Apple LLVM 版本 5.0 (clang-500.2.79)(基于 LLVM 3.3svn)} 编译它时,我得到以下输出:

Chris at iMac in ~/Source
$ ./a.out
p is 5

怎么会?我看到有人问了相反的问题 ( Allocating a value to a pointer in c ),但这只会让我更加困惑,因为我的程序几乎与该问题中发布的代码相同。

最佳答案

您没有将 int 分配给 pointer。如果 p 是指针,则 *p 指向它的值。您正在分配 *p = 5;,这是对整数分配的纯整数。

在这种情况下,p没有被初始化,可能会导致段错误。

关于c - 在 C 中将一个 int 值赋给一个指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22051203/

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