微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何访问从这个指针创建的数组?

如何解决如何访问从这个指针创建的数组?

所以我创建了一个指针来使用 calloc() 函数创建一个新数组。我想从这个指针访问数组作为数组,但我不知道如何做到这一点。基本上我希望数组 my_array 与数组中从 *stack 指针开始的内容相同。

#include <stdio.h>
#include <stdlib.h>
    
    int main (int argc,char*argv[])
    {
        int capacity=5,*stack;
        int my_array[3];
        stack=(int*)calloc(capacity,sizeof(int));
        capacity++;
        
        stack=(void*)(realloc)(stack,capacity*sizeof(int));
        
        my_array[0]=*stack;
        my_array[1]=5;
        
            
    }



解决方法

我希望它们是同一个数组

那么你必须让 my_array 一个 int* 并使它等于 stack,并在每次重新分配堆栈时保持同步。

乍一看,您想做的事情很容易导致软件不可靠。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。