c++ - malloc 分配给指针

标签 c++ c pointers malloc

我在使用 C 语言时遇到了这个问题。

我有以下声明。

int *a;
a=malloc(100);

我收到以下错误:

error: invalid conversion from 'void*' to 'int*' [-fpermissive]

对此有任何提示吗?

最佳答案

您正在将代码编译为 C++,其中您使用的代码无效。但对于 C 来说,它是有效的,你 should not add any cast .

但请注意,malloc() 的参数位于 char 中,因此“100”有点随机。如果您想要 100 个整数,请执行以下操作:

a = malloc(100 * sizeof *a);

关于c++ - malloc 分配给指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13843415/

相关文章:

c - 如何在 C 中创建一个函数,允许我根据分隔符将字符串拆分为数组?

c++ - 下面程序的复杂度是多少?

C++ 在 win32 控制台中制作游戏

c++ - 在线程之间安全地分发指针更新

c - libuv 和 uv_try_write : why multiple buffers?

c - 在结构中有一个不完整的数组是什么意思?

c++ - OpenGL 旋转

C 时间程序 (NTP) 不绑定(bind)套接字

objective-c - 为什么对象变量必须是指针?

c - 指向c中两个不同的常量结构表(查找表)的单指针