2014-12-09 5 views
-3
struct command 
{ 
    char *abc[1000]; 
}; 

변수 중 하나가 구조에 정의됩니다. 이 char 포인터 배열은 file에서 값을 읽은 후 값을 포함합니다. 예 : {123,121}.char 포인터 배열의 구조를 char 배열로 배열해야하는 이유는 무엇입니까?

char a1[][1000]= s1->abc[j]; 

내가 구문에 대한 확신하지 ... 그래서 어떻게 a1에 배열 abc에이 값을 캐스팅해야한다 :
지금 나는이 같은 문자의 배열, 뭔가의 배열이 값을 캐스팅합니다.

+0

짝수 캐스팅을 대체하여 의미있는 값을 차지하지 않습니다. – BLUEPIXY

+0

귀하의 설명은 모호하며 귀하가 게시 한 코드는 전혀 이해가되지 않습니다. 당신이하려고하는 것을 보여주는 짧은 프로그램을 제공해주십시오. – user694733

답변

1

올바르게 이해하면 1000 char*의 배열이 있는데 길이가 다를 수 있습니다 (예 : 길이 2). s1 유형은 struct command입니다.

char a1[1000][] = s1->abc; 

또는 :

그럼 난 당신이 의미 생각

char a1[] = s1->abc[j]; 

을하지만 당신이 원하는 이유를 잘 모르겠습니다 그 대신 :

char * a1[1000] = s1->abc; 

또는

char ** a1 = s1->abc 

인덱스에주의하십시오.