我一直在嘗試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