Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用structure、malloc和array为以下C函数编写代码?_C_Arrays_Pointers_Struct - Fatal编程技术网

如何使用structure、malloc和array为以下C函数编写代码?

如何使用structure、malloc和array为以下C函数编写代码?,c,arrays,pointers,struct,C,Arrays,Pointers,Struct,创建一个名为arrayData的结构,该结构包含一个名为array的整数指针和一个名为size的整数变量 创建具有以下标题的函数:arrayData*createArray(int size)。在该函数中,您将为新的arrayData结构分配malloc空间。然后需要使用输入变量作为元素数来创建数组。最后,需要将malloc'ed arrayData指针中的变量设置为数组和数组大小。最后返回malloc'ed arrayData结构的指针 以下是上述术语的代码: struct arrayData

创建一个名为arrayData的结构,该结构包含一个名为array的整数指针和一个名为size的整数变量

创建具有以下标题的函数:arrayData*createArray(int size)。在该函数中,您将为新的arrayData结构分配malloc空间。然后需要使用输入变量作为元素数来创建数组。最后,需要将malloc'ed arrayData指针中的变量设置为数组和数组大小。最后返回malloc'ed arrayData结构的指针

以下是上述术语的代码:

struct arrayData
{
    int *array;
    int size;

};


struct arrayData* createArray(int size)
{
    struct arrayData *str = (struct arrayData*)malloc(sizeof(struct arrayData));
    int a = 10;
    str->array = (int*)malloc(size * sizeof(int));
    str->size = size;
    for ( a = 0; a < 10; a++ )
    {
        str->array[i] = a; 
    }
    return str;
}
struct arrayData
{
int*数组;
整数大小;
};
结构arrayData*createArray(整数大小)
{
struct arrayData*str=(struct arrayData*)malloc(sizeof(struct arrayData));
INTA=10;
str->array=(int*)malloc(size*sizeof(int));
str->size=size;
对于(a=0;a<10;a++)
{
str->array[i]=a;
}
返回str;
}
我想做一些事情,比如: 创建一个具有以下标题的函数:void printary(arrayData*data)。此函数将输出输入变量数组中的所有值。 outpu将如下所示: 价值1 价值2 价值3 价值4

创建一个具有以下标题的函数:void freemm(arrayData*data)。在此函数中,您将释放所有已被malloc'ed的内存


有人能告诉我怎么做吗?

用于打印阵列

  void printArray(struct arrayData *data) {
      int i;
      for(i=0;<data->size;i++) {
          printf("\t%d",data->array[i]);
      }
  }

首先,数组的大小(size)与将“a”值存储到数组中无关。(目前还不清楚a是否<尺寸。)

printary(arrayData*data){
对于(i=0;isize;i++){
printf(“%d”,数据->数组[i]);
}  
printf(“\n”);
}  
freeMem(arrayData*数据){
自由(数据->数组);
免费(数据);
}

我没有声明我,等等。没有原型,等等。只需填写它们

我想你会发现,如果你展示你目前所拥有的,你会得到更多的帮助。你知道函数原型应该是什么样的,从这里开始。这听起来像是一个家庭作业问题,所以我猜你会有一些参考资料。
   void freeMem(struct arrayData *data) {
         free(data->array);
         free(data);
   }
printArray(arrayData *data) {  
    for (i = 0; i < data->size; i++) {  
        printf("%d ", data->array[i]);  
    }  
    printf("\n");  
}  

freeMem(arrayData *data) {  
    free(data->array);  
    free(data);  
}