gpt4 book ai didi

c - 在行 : str = (char *) malloc(15); what does the (char *) mean?

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

我正在尝试学习 C 中的 malloc。我已经完成了一些 Java 编程,但想学习编码的具体细节。

让我解释一下我对此的了解,希望有人能填补空白。

行内:

str = (char *) malloc(15);

我知道我们在这里所做的是为这个字符串分配内存。 15个内存单元,我假设这15个单元是15个字节,因为1个字符占一个字节(是吗?)

让我困惑的是 (char *) 这是什么意思?我知道 * 是指针和取消引用运算符,但我不知道它在这种情况下的含义。

根据我有限的编程经验,我的第一个猜测是 (char *) 是一个显式转换......但我不确定。

如果之前有人问过这个问题,我深表歉意,但我已经搜索过,而且我还用谷歌搜索了 (char *) 和类似 (int *) 的变体,我在其他示例中看到过,但似乎无法找到解释。

非常感谢任何帮助。

最佳答案

这是一个转换,将malloc 的输出转换为char *

在 C 语言中不需要也不希望从 malloc 转换返回值。

关于c - 在行 : str = (char *) malloc(15); what does the (char *) mean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25336720/

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