char형 buf를 가리키는 포인터를 6개를 만든다는 소리아님?
그럼
argv[1] = 10, argv[2] = 20, argv[3] = 30
이렇게 입력을 했다고 가정하고
int *buf[6]; <<<<<<<<<<<<<<< 요기
buf[0] = *argv[1];
buf[1] = \' \';
buf[2] = *argv[2];
buf[3] = \' \';
buf[4] = *argv[3];
buf[5] = \'\\n\';
이렇게 한담에
buf 를 출력해보면
10 20 30 이 출력되야 맞는거아님니콰?
////////////////////////////////////////////////////////////////////////////
char buf[6]; <<<<<<이렇게하면 숫자를 두자리이상입력해도 한자릿수만 들어가서(1 2 3)...
int buf[6]={*argv[1], \' \', *argv[2], \' \', *argv[3], \'\\n\'};
으로 바꿔서해봤는데도 결과는 같음...
1 2 3 이 입력됨
그럼
argv[1] = 10, argv[2] = 20, argv[3] = 30
이렇게 입력을 했다고 가정하고
int *buf[6]; <<<<<<<<<<<<<<< 요기
buf[0] = *argv[1];
buf[1] = \' \';
buf[2] = *argv[2];
buf[3] = \' \';
buf[4] = *argv[3];
buf[5] = \'\\n\';
이렇게 한담에
buf 를 출력해보면
10 20 30 이 출력되야 맞는거아님니콰?
////////////////////////////////////////////////////////////////////////////
char buf[6]; <<<<<<이렇게하면 숫자를 두자리이상입력해도 한자릿수만 들어가서(1 2 3)...
int buf[6]={*argv[1], \' \', *argv[2], \' \', *argv[3], \'\\n\'};
으로 바꿔서해봤는데도 결과는 같음...
1 2 3 이 입력됨
char 포인터 배열을 만든다는 거임
어떤식으로 되냐면욤. 이게 맞는지 가물한데 *랑 []이 우선순위가 같져? 그래서 결합성이 <쪽이니깐 우선 buf[6]부터 처리되서 저건 6칸 짜리 배열임. 그럼 그거 지우면 char *만 남죠? 그러면 저건인제 char* 짜리를 6개 담고있는 배열임
argv 선언형이먼데여 그리고
argv[1]=10; 이렇게했단소리는 int argv[4] 뭐이렇게선언햇을꺼아님?? 그럼 argv[1]자체가 이미 값인데 거따가 *을 붙이면 컴파일에러날텐데?
char *argv[] 이렇게 선언했어요
char buf[6]; 이렇게 선언하고 1 1 1 값(한자릿수) 을 입력하면 제대로 값이들어가는데 두자리수를 넘기는 뒷자리는 짤려서 들어가요...
그거야 char형이잖아염...