gpt4 book ai didi

c - 为什么 C 中的数据类型不是 void?

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

今天有一个学生来找我,问我,先生我们有int , float , char以及 C 中的所有数据类型。

当我们写int i时,这意味着 ivariable of type integer等等 float fchar c .

同样,我们有int *i意味着i is a pointer to an integerfloat *f 相同和char *c .

我们确实有void* v;也是 C 语言。

void指针也称为通用指针。

他问我我们可以有void指针,同样为什么我们不能有void v (作为数据类型)?

我简直无语了。所以,我请求请帮助我。如何让他明白。

最佳答案

我的解释如下:

在高级语言中,变量表示抽象事物,由语言决定如何以位实际表示它们并插入这些位对这些事物起作用。让变量代表“无”的概念是有意义的。

C 不是这样的。 C 变量是存储在内存中的实际位集合。它们代表什么取决于程序员。对于 C 程序来说,拥有“无”类型的变量是没有意义的——这意味着“不分配任何内存位”,并且它不知道如何处理它。在C中,“int”表示“分配32位内存”,“int *”表示“分配足以容纳内存地址的内存,当我取消引用它时,一次获取32位”。 “void *”的意思是“为一个内存地址分配内存,稍后我会告诉你从那里获取多少位”。

C 中的“void”函数返回类型意味着“从函数返回,但不向调用者传递任何位”。例如,在像Python这样的高级语言中,“return None”意味着返回给调用者,并向其传递一些代表“无”抽象概念的位集合”,这是不同的事情。

关于c - 为什么 C 中的数据类型不是 void?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16339472/

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