在C中返回malloc

斯纳格
int* dec2bin(int y){
    int *arr = (int*)malloc(sizeof(int)*5);
    int i;
    
    for (i=0; i<5; i++) arr[i]=0;
    
    return arr;
}

在这段代码中,我编写0arr[0]从到的内容arr[4],但函数返回了1070192我想回来00000

我究竟做错了什么?

来自莫斯科的弗拉德

该函数返回指向已分配内存的指针

int* dec2bin(int y){
    int *arr = (int*)malloc(sizeof(int)*5);
    int i;

    for (i=0; i<5; i++) arr[i]=0;

    return arr;
}

对于5个整数的数组。除非分配失败,否则其地址可能不等于0。但是整数本身等于0。

例如,如果您通过以下方式编写调用(不清楚参数的含义)

int *p = dec2bin( 0 );

那么* p(数组的第一个元素)将确实等于0

甚至你可以写

int *p = dec2bin( 0 );

for ( int i = 0; i < 5; i++ ) printf( "%i ", p[i] );

并且您将获得数组的所有元素等于0。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从C中的函数返回malloc

来自分类Dev

C中的malloc()何时返回NULL?

来自分类Dev

C ++中的Malloc错误?

来自分类Dev

C中的malloc()行为

来自分类Dev

Malloc在adt列表程序中返回null

来自分类Dev

C ++,新的vs malloc返回值

来自分类Dev

C中带有malloc的子字符串函数返回不正确的值

来自分类Dev

指针数组在Objective-C中返回了我的Malloc / Calloc

来自分类Dev

在C中结合Struct + malloc

来自分类Dev

C中的struct malloc问题

来自分类Dev

C,Visual Studio中的Malloc

来自分类Dev

malloc() 在 C 中触发断点

来自分类Dev

返回-并返回!在C中

来自分类Dev

C中的malloc和(int *)malloc之间的区别

来自分类Dev

如何在malloc()实现中检查返回数据的对齐方式?

来自分类Dev

C:malloc的指针从函数返回后会更改位置吗?

来自分类Dev

使用ctypes将malloc的数组从C返回到Python

来自分类Dev

C中的malloc()无法按预期工作

来自分类Dev

在C中实现隔离的内存存储(malloc)

来自分类Dev

C中的Malloc内存消耗行为

来自分类Dev

C ++中向量上的Malloc错误

来自分类Dev

预测C中的malloc块大小网格

来自分类Dev

malloc导致C中的分段错误

来自分类Dev

指针分配,C中的malloc()和free()

来自分类Dev

在C库中强制转换malloc的结果

来自分类Dev

Malloc vs C中的静态数组

来自分类Dev

使用malloc的C中的分段错误

来自分类Dev

malloc导致C中的分段错误

来自分类Dev

C ++ malloc用于结构体中的数组