簡體   English   中英

如何在C語言中將char *添加到char **

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM