2016-10-22 7 views

答えて

0

このコードから参照を取得することができますが、それが動作するかどうかはわかりませんが、これから参照できます。

my_struct_t *myStruct; 
size_t noOfElements; 
size_t completeSize; 
int index;  

/* ...code which sets the number of elements at runtime... */ 

completeSize = sizeof(my_struct_t) * noOfElements; 

myStruct = malloc(completeSize); 
memset(myStruct, 0, completeSize); 

/* ...and then access it as if it were an array...*/ 

myStruct[index].someInt = 10; // index < noOfElements 
0

メモリは、構造自体に割り当てることはできませんが、あなたの構造に配列へのポインタを定義することができますし、後であなたが「N」の大きさとのmallocまたは新しい()を使用してメモリを割り当てることができます。

あなたの構造を定義する方法は次のとおりです。

fun() { 
    node obj; 
    obj.arr = (int*)malloc(sizeof(int)*obj.n); 
} 

2)新しい()

fun() { 
    node obj; 
    obj.arr = new int(obj.n); 
} 
を使用して:
struct node {int n; int k; int *arr}; 

は、mallocを使用して、あなたが以下のような構造のオブジェクトを使用してそれを行うことができますメモリ、

1)を割り当てるには

関連する問題