:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
09/04/30 15:23
i++;
j++; 과 같은 뜻입니다.. i++; 는 i=i+1;이라는 뜻이구요~ 단지 두줄로 작성한 것을 한줄로 줄여 쓴거라고 생각하시면 될듯 하네요.
09/04/30 15:27
도니..님// 음.. 그니까, for 문에서...
for ( i = 0 ; i < 10 ; i++; j++ ) ... 이렇게 하면 컴파일 에러가 나잖아요. 근데... 콤마로 구분하면 된단 말이죠.
그렇다면, 저걸 다른데서는 쓸 일이 없고, 단지 for 문에서나 쓰이는 연산자라는 뜻인가요? 콤마의 예외적인 사용방법이라고 생각하면 되나요? 보통은 함수 호출 등에서 구분자로 쓰이는것만 알고 있어서...
09/04/30 15:33
일반적으로도 사용 되는데요? for 구문 자체에 쓰이는 ; 은 구별을 짓기 위한 거구요.. for(i=0 ; i<10 ; i++ ; j++)은 ; 을 세번 적게 되서 나는 에러겠네요..
for문에서 많이 쓰이긴 하는데요.. 예를 들어 for(i=0, j=0 ; i<10 ; i++, j++) 이런 식으로도 사용 가능합니다. 콤마 연산자로 찾아보시면 프로그래밍 책에 있습니다.
09/04/30 15:38
일반적으로 , 연산자는 문장을 줄이기 위해 사용됩니다.
선언시에도 int i; int j; --> int i, j; 와 같이 사용이 가능하며, i +=j; j++; 이와 같은 두 문장을 i+=j, j++; 와 같이 줄여서 사용해도 같은 뜻입니다. 좌--> 우 로 실행됩니다. 주로 변수 선언, for문에서 많이 사용되기는 합니다.
09/04/30 15:40
두 줄에 쓸 것을 한 줄에 쓴다고 생각하시면 됩니다.
가장 흔하게 쓰는 경우는 변수를 일괄적으로 선언하는 경우가 되겠네요. int a,b,c,d; a=3,b=2,c=0,d=1; 이런식으로 편하게 쓰는 경우가 많았던 것 같습니다.
09/04/30 15:40
;는 한문장을 구분할때 쓰고 ,는 한문장에 여러가지 동작을 수행시키고 싶을때 씁니다.
int a,b,c; a=b,c=a; for문 형식이 세개의 문장으로 구성되어 있기 때문에 한문장에 두가지 이상의 증가문을 쓰려면 ,를 사용합니다.
09/04/30 15:42
Comma operator은 상당히 특이한 연산자 입니다.
일단 이항연산자(용어가 맞나...) 이고, 다른 연산자와는 다르게 앞에 있는 연산을 계산(처리) 한 후 그 값을 무시하고 뒤에 있는 연산자를 계산 합니다. 재미있는 사용법은 x = (a + b) , (c + d); 하면 a + b 를 계산 하고 그 값은 무시 하고 x = (c + d) 가 되 버립니다. 즉 x = (a++), (a + b) 하면 a는 1 증가 하고, x = a (즉 a+1) + d 가되죠.... 하지만 코드상 혼란이 오기 때문에 초기화 혹은 for 이외에서는 사용을 하지 않는 것이 좋습니다.
09/04/30 15:42
콤마연산자는 A, B 형태로 구현되며
의미하는 뜻은 A 를 먼저 실행 후 결과값을 버리고 B를 실행하고 B의 결과 값을 리턴해라는 뜻입니다 ^^ 그리고 연산자 중에서 가장 늦은 실행 순서를 가지고 있습니다. 코딩 할때 보기 좋아라고 i++, j++ 이런식으로 문장 여러개를 한줄에 표현하기 위해서 사용하기도 합니다 콤마 연산자에 대해서 조금 더 설명 드리자면 i = a, b; 같은 경우 = 연산자가 먼저 실행되어서, i 에 a가 대입되고 무시되고 (i 의 최종값을 어디에서도 안 쓴다는 거지 대입 연산을 무시하는게 아닙니다) 그냥 b; 이런 문장과 동일시 됩니다. 다른 경우로 i = (a, b); 의 경우 괄호가 먼저 실행되니 a,b 가 연산되어 a는 그냥 버리고 b만 남습니다. 결국 i = b와 같은 결과가 실행됩니다. 보통 코딩을 간결화 할때 i 에다가 a에 10를 더한후 b와 곱해서 대입해라. a = a + 10; i = a * b; 이런 문장을 i = (a += 10, a * b); 이런식으로 사용할 수도 있습니다.
09/04/30 15:50
캬캬캬... 프로그래밍 관련 질문을 올리면 분위기가 참 묘해지네요(응?)
음.. 저런 사용법들이 있었군요. 앞으로 요긴하게 쓸 수 있을듯 하네요. 아뭏든, 감사드립니다. (_ _)o
|