-2

arr静的配列が与えられた場合、次のように動的割り当てに変更する方法a pointer unsigned

char arr[] = {1,4,5,8,9,6,4,3,2,1,5,7};  
unsigned char *arr = NULL;

次に、この値をに割り当てる方法を説明しますarr

私はプログラミングに不慣れです。助けてください。

4

3 に答える 3

3

malloc()配列を動的に割り当てるために使用しmemcpy()、内容をコピーするために使用します。dだったfree()ことを思い出す。malloc()

于 2012-12-04T12:41:01.627 に答える
1

ほとんどの C++ の方法はstd::vector、生の割り当てられた配列の代わりに aを使用することです。

std::vector<unsigned char> dynArr(arr, arr + 12); //where 12 is array size

動的に割り当てられた生の配列が本当に必要な場合は、次を使用しますstd::copy()

unsigned char *dynArr = new unsigned char[12];
std::copy(arr, arr + 12, dynArr);
于 2012-12-04T12:37:30.680 に答える
1

試す

char arr[] = {1,4,5,8,9,6,4,3,2,1,5,7};
char *pArr = arr;

これで、最初の要素に次のようにアクセスできます。

*pArr

2 番目の要素:

*(pArr+1)

例えば

また、このチュートリアルを読みたいと思うかもしれません。

于 2012-12-04T12:44:33.260 に答える