gpt4 book ai didi

c - C 中的严格类型指针(假设)

转载 作者:太空狗 更新时间:2023-10-29 16:49:25 27 4
gpt4 key购买 nike

这是我今天考试的一道题:

在 C 中,假设指针是严格类型化的(即,指向 int 的指针不能用于指向 char)。这会降低它的表达能力吗?如果不是,您为什么以及如何补偿此限制?如果是,如何?您还需要添加哪些结构来“平衡”C 语言表达能力的损失?

一些额外的细节:

  • 表达能力下降,我认为这意味着:您将无法创建以前可以创建的某些程序。
  • 严格类型的指针意味着你不能做这样的事情:int x = 5;整数 *p = &x; char *temp = (char*)p;
  • 这包括 (void*) 转化

我也在下面包含了我的答案。

最佳答案

这是否也意味着不再有 void*?如果是这样,那么是:C 的表达能力将受到限制,因为 malloc 将无法实现。您需要本着 C++ new 的精神添加一个新的、类型化的、自由的存储分配机制。

(或者,不:C 仍然是图灵完备的。但我认为这不是这里的意思。)

实际上,C 甚至不是图灵完备的;请参阅下面的评论。

关于c - C 中的严格类型指针(假设),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5442752/

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