我一直在尝试c一段时间,但我无法处理指针数组。
例如添加一个字符串指针指针指向c中没有显示任何东西时访问
char *word;
char *container[100];
在的字符串临时下面的for循环我正在追加单个字符然后我想要添加到容器* [100]如果定界符。出现。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
int main()
{
int z = 0;
int k=0;
char *word;
char *container[100];
char *in = " First Word . Second Word";
for(k=0; k<strlen(in); k++)
{
//using . as a delimiter
if(in[k]=='.')
{
container[z] = word;
printf("%s\n", container[z]); //<---- this prints okey inside loop
z++;
memset(word,0,strlen(word));
}
else
{
//appending characters to temp, using some method
snprintf(word + strlen(word), (sizeof word) - strlen(word), "%c", in[k]);
}
}
//doesnt print anything outside the loop
printf("Does it print: %s\n", container[0]);
printf("Doest it print: %s\n", container[1]);
return 0;
}
当我尝试打印在容器它不显示任何东西的话:
printf("%s\n", container[0]);
printf("%s\n", container[1]);
我想我已经做某种动态分配的。但我不知道如何。
请发表[mcve] –
更好地解释你的代码,什么是温度?容器[z] ??? –
你把它错了吗? '容器[z]'应该做什么? – Barmar