gpt4 book ai didi

c - 原始类型声明在 C 中如何工作?

转载 作者:太空宇宙 更新时间:2023-11-04 05:11:53 24 4
gpt4 key购买 nike

我不是 C 程序员所以请理解 ;)

C 语言具有指针及其所有优点。但是原始类型声明是如何工作的?

例如我可以这样做:

char x = 'a';

那里没有指针,但值必须存储在内存中的某个地方,对吗?我可以把上面的陈述翻译成:

char* _x = malloc(sizeof(char));
char x = *_x;

最佳答案

不,你不能。

malloc(sizeof(char));

会在堆中分配内存,你负责删除它。这样做的好处之一是,分配内存中的数据不会在其作用域结束时“消亡”,它只会在您销毁它时消亡。

char c = 'a'

将存储在堆栈中,并在其作用域结束时自动释放。

编辑:关于您的评论,一般来说,局部变量通常会存储在堆栈中(这当然是自动的)。 malloc、calloc 允许您“请求”堆中的空间,并按您的意愿使用它。如果你想了解更多信息,你可以看here ,如@Jabberwocky所述

关于c - 原始类型声明在 C 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52165690/

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