将指针的值赋给指针数组中的指针

时间:2015-09-05 18:08:38

标签: c arrays pointers

我想将字符串中的字符分配给字符串数组中字符串的第一个字符,等效地我想在指向另一个指针值的指针数组中指定一个指针。

我尝试了以下内容:

char ** array=malloc(sizeof(char*)*10);
char * str="like";

*(array[0])=*str;
*(array[0])=str[0];
**(array)=*str;
**(array)=str[0];

这些似乎是在分配第一个指针的值的值。

我不断收到细分错误。

1 个答案:

答案 0 :(得分:0)

我意识到我误解了创建指针数组时会发生什么。我假设C实际上在数组中创建了指针,并且不仅为它们分配空间。

修复:

char ** array = malloc(sizeof(char *) * 10);
    char tok = *ts; /* create character that has value of a pointer */

    char *token =&tok; /* create new pointer that points to same value as *ts but in a different address */
    array[0]=token; /* assign the pointer */
相关问题