"string [5] [*]"치수를 갖고 있지만 문제가있는 2 차원 문자열 배열을 만들고 싶었습니다. 나는 같은 것을 할 싶습니다 :# 행이 C로 고정 된 2 차원 배열을 만들었습니다
...
for(i = 0;i < 5;i++){
char* word = ...;
if(strcmp(word,...)){
string[i][j] = (char *) malloc(/*size of word*/);
string[i][j] = word;
j++;
}
}
은 "문자열"변수는 i 번째 방향으로 길이 5이어야하고 내가 j 번째 방향으로 필요한만큼 성장하는 것을 허용해야한다.
나는 일을 시도 :char* string[5];
을하지만 작동하지 않습니다. 위의 for 루프는 단순화되었으며 부품은 논리적으로 보이지 않을 수 있습니다.
편집 : 문자열 목록을 5 가지 범주로 정렬하려고합니다. 따라서 n-dimentional 배열은 의미가 정해지지 않은 문자열 (문자가 아님)이 포함 된 5 개의 배열을 보유해야합니다. 이것은 3-dimentional char 배열이라고 가정하지만 그것을 쓰는 방법을 생각하는 데 어려움을 겪고있었습니다. 모든 문자열 [i] [j] 용어가 char 배열을 보유하기를 원합니다. 그래서 string [0] [0]은 "cat"과 같을 수도 있습니다.
malloc()은 성공을 보장하지 않는다는 것을 명심하십시오. NULL을 반환하는지 확인한 다음 오류 조건을 처리해야합니다. – SecurityMatt