【发布时间】:2014-08-16 03:42:12
【问题描述】:
我正在尝试学习 C 语言中的 malloc。我做过一些 java 编程,但想学习编码的具体细节。
让我解释一下我对此的了解,希望有人能填补空白。
行内:
str = (char *) malloc(15);
我知道我们在这里所做的是为这个字符串分配内存。 15个内存单元,我假设15个单元是15个字节,因为1个char占1个字节(是这样吗?)
令我困惑的是 (char *) 这是什么意思?我知道 * 是指针和取消引用运算符,但我不知道它在这种情况下的含义。
根据我有限的编程经验,我的第一个猜测是 (char *) 是显式转换。但我不确定。
如果之前有人问过这个问题,我深表歉意,但我已经搜索过了,我还搜索了 (char *) 和我在其他示例中看到的 (int *) 之类的变体,但似乎无法获得解释。
非常感谢任何帮助。
【问题讨论】:
-
谢谢大家,我现在明白了。
-
请阅读the link by shuttle87,其中介绍了演员阵容的优缺点。