C'ye 3D yapıları nasıl ayırır ve bildirirsiniz? İlk önce diziyi tahsis ediyor musunuz, yoksa ilan ediyor musunuz? İlk önce onu tahsis etmeniz gerektiğini düşünüyorum, böylelikle öbekte ilan edebilirsiniz, ancak daha sonra henüz yapılmamış bir şeyi nasıl ayıracaksınız? Ayrıca, hepsini bir kerede mi, yoksa elemente göre mi ayırmalısınız? Ayrıca yapıları diziye doğru yerleştiriyor muyum? nasıl yapılacağına ilişkin Benim tahminim olurdu:C içinde bir dizi yapı dizisi nasıl ayrılır ve bildirilir?
header.h
struct myStruct{
int a;
int b;
};
typedef struct myStruct myStruct_t;
main.c
bunu farklı şekillerde bir çift vardır#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;
}
'.h' ve' .c' dosyalarının kullanımı hakkında konu dışı bildirim: http://stackoverflow.com/q/3482948/2186301 – yulian