gpt4 book ai didi

c - 这是C中的定义吗?

转载 作者:行者123 更新时间:2023-12-03 21:26:27 25 4
gpt4 key购买 nike

根据C标准,这被认为是一个定义

int x; 

因为它声明了 x 并分配了存储空间。但这也是一个定义吗?

int *x;

即声明一个指针变量或数组变量是否分配存储空间?我猜不会,因为我们必须使用 malloc。

最佳答案

int* x;是一个定义。它分配存储空间来存储指针。它不会为整数分配任何存储空间——这就是为什么你需要 malloc如果您不想指向现有变量(或其他内存位置)。

纯声明类似于 extern int x;extern int* x; ,然后将在不同的编译单元中有相应的定义。

关于c - 这是C中的定义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22052726/

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