[질문]Vim 질문입니다..그리고 C언어배열도 같이 질문합니다.
글쓴이: 등짝을보자 / 작성시간: 금, 2007/04/06 - 4:22오후
#include <stdio.h> #define N 10 int main() { int x[N]; int i; for(i=0;x[i];i++) { printf("%d\n",i); } return 0; }
for 문을 보시면 조건문의 x[i] 입니다..이렇게 했더니 오류가 안나오고 돌아가던군요..
이게 원리가 궁금합니다....그리고
실행하니 0~6 까지 실행되더군요.... N 10 으로 설정했는데 말이죠..
이건 또 왜이런건가요??
그리고 Vi 명령어 중에 이런게 있나요??
{ 이거 꺽쇠에 해당하는 } 이걸 자동으로 찾아가게해주는 게 있나요??
그리고 .vimrc 파일에 set complete 을 추가해줬더니만...
vim 접속시 엔터을 한번더 눌러야 접속이되더군요..
예전처럼 한번에 들어가고싶은데 어떻게 해야하나요??
cr을 넣어봤지만 안되더라구요...
Forums:
x[]가 초기화가
x[]가 초기화가 안되어있구... 쓰레기값이 들어있었는데 x[7]에 거짓으로 판단되는 값이 들어있었나보네요.
for문의 조건부가 x[i]
for문의 조건부가
x[i]
인데...x[i] 가 0 인 순간 끝나버리는 겁니다.
정확하게 하시려고 했다면
i < N
으로 하셨어야죠;------------------------------------------------------------
이 멍청이~! 나한테 이길 수 있다고 생각했었냐~?
광란의 귀공자 데코스 와이즈멜 님이라구~!
------------------------------------------------------------
이 멍청이~! 나한테 이길 수 있다고 생각했었냐~?
광란의 귀공자 데코스 와이즈멜 님이라구~!
vim 에서 매치되는
vim 에서 매치되는 괄호 찾아가는 키는 ]} 입니다.
답변 감사합니다...그리고...
i 꺽쇠 N 하면 당연히된다는 거 알죠...-_-; (이거 꺽쇠어떻게 적는거죠? -_-a)
제가 질문을 좀 이상하게 했나보네요..
x[i] 이 배열이 언제가는 0 의 되더군요..이게 왜 0 이 되는건지 궁금해서요..
초보자여서 궁금한게 많습니다..-_-;
감비노도 궁금해하더라구..등짝!..등짝을보자!..
감비노도 궁금해하더라구..등짝!..등짝을보자!..
함수에 진입하면서
함수에 진입하면서 로컬 배열을 위한 스택메모리를 할당하면서 초기값이 0이 아닌 쓰레기 값으로 할당되어서 for 문이 돌아가는 것같습니다.
'언젠가는 0이 된다'는 것은 아주 우연히 그 배열의 쓰레기 값중에 하나가 0으로 된 것입니다.
근본적으로는 함수에 진입할 때 스택을 할당하면서 어떻게 초기화하느냐의 문제인데, 플랫폼에 따라서, 컴파일러에 따라서 처리하는 방식이 다른 것으로 알고 있습니다.
gcc라면 warning이 뜰 것같습니다만...
그리고!!
저런식으로 코드 짜면 같이 일하는 사람한테도 욕먹고, 본인도 몇달 (제 나이면 며칠)만 지나도 왜 저런식으로 조건문을 넣었는지 까먹습니다.
가능한한 조건문에서 사용되는 변수는 적게 하셔야합니다. (올리신 for문에서는 x,i두개를 참조하도록 되어있습니다.)
'절대로!!' 저렇게 코딩하지 마세요!!
그리고, vim에서 괄호짝을 찾는 기능은, Control mode에서 커서를 해당괄호에 갖다 놓고 퍼센트 표시(Shift+5)를 누르시면 괄호짝으로 이동합니다.
요즘 vim에서는 커서가 괄호로 이동하면 그 괄호짝이 자동으로 highlight되더군요.
댓글 달기