我想将字符串中的字符分配给字符串数组中字符串的第一个字符,等效地我想在指向另一个指针值的指针数组中指定一个指针。
我尝试了以下内容:
char ** array=malloc(sizeof(char*)*10);
char * str="like";
*(array[0])=*str;
*(array[0])=str[0];
**(array)=*str;
**(array)=str[0];
这些似乎是在分配第一个指针的值的值。
我不断收到细分错误。
答案 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 */