Wie ordnen und deklarieren Sie ein 3D-Array von Strukturen in C? Ordnen Sie das Array zuerst zu oder deklarieren Sie es? Ich habe das Gefühl, dass Sie es zuerst zuweisen müssen, damit Sie es so deklarieren können, dass es auf dem Heap ist, aber wie ordnen Sie dann etwas zu, das noch nicht gemacht wurde? Auch sollten Sie es alle auf einmal oder Element für Element zuweisen? Auch ich die Strukturen in das Array richtig setzen? Meine Vermutung auf, wie es zu tun wäre:Wie ein 3D von Array von Strukturen in C zuweisen und deklarieren?
header.h
struct myStruct{
int a;
int b;
};
typedef struct myStruct myStruct_t;
main.c
#include "header.h"
#include <stdio.h>
#include <stdlib.h>
int main(void){
int length=2;
int height=3;
int width =4;
myStruct_t *elements;
struct myStruct arr = (*myStruct_t) calloc(length*height*width, sizeof(myStruct);
//zero based array
arr[length-1][height-1][width-1];
int x=0;
while(x<length){
int y=0;
while(y<height){
int z=0;
while(z<depth){
arr[x][y][z].a=rand();
arr[x][y][z].b=rand();
z++;
}
y++;
}
x++;
}
return 0;
}
Off-topic Beratung über die Verwendung von '.h' und' .c' Dateien: http://Stackoverflow.com/q/3482948/2186301 – yulian