给定一个静态数组,如何使用arr
as将其更改为动态分配a pointer unsigned
:
char arr[] = {1,4,5,8,9,6,4,3,2,1,5,7};
unsigned char *arr = NULL;
现在如何将此值分配给arr
.
我是编程新手,请帮忙。
最 C++ 的方法是使用 astd::vector
而不是原始分配的数组:
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);
尝试
char arr[] = {1,4,5,8,9,6,4,3,2,1,5,7};
char *pArr = arr;
现在您可以访问第一个元素:
*pArr
第二个元素为:
*(pArr+1)
例如
您也可能想阅读本教程。