[英]how to add a char* into char** in C
我在C中有一個char數組(不是C ++)。 類型為char **。 我知道它的長度,但是元素的長度未知。 我還有另一個char *數組。 需要將此字符*添加到我的字符**中,作為最后一個元素。
怎么樣:
char **pointers;
char *p;
/* ... */
pointers[last] = p;
您需要弄清的一件事是last
的值,並且在向pointers
添加元素時可以輕松地跟蹤它。
跟蹤last
一種簡單方法是始終說:
pointers[last++] = p;
另一種方法是保留副本並進行復制:
char **pts = pointers;
/* .. */
pts = p;
pts++;
char * arr1 []; //已知長度和一些已經填充的元素
上面數組的每個元素都是一個指向字符數組的指針。
char * new =“ lastElem” //這是您必須附加的字符串
假設arr1有n個元素(每個字符串)。 然后,
arr1 [++ n] =新; //如果arr1中存在空間並且您已經有//字符數組'new',則應該這樣做。
使用realloc
非常容易:
char **array = ...;
array = realloc(array, sizeof(char*)*(LENGTH+1));
array[LENGTH] = last;
(我假設您需要增加array
的大小,否則array[LENGTH-1] = last
就足夠了)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.