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