|
아주 황당한, 허덥한 질문 같지만 그래도 답답한 마음에 혹시나 해서 이렇게 올립니다
너무 유치해서 충격을 받으셨다면 넓은 아량으로 봐주세요... (-_-) (_ _) (^_^)
다른게 아니라 요즘 C++ 기초 부터 다시 공부를 하고 있습니다
어제 오늘 계속 포인터를 공부 하고 있었지요
저희 학교에 있는 거의 모든 컴퓨터에는 비주얼 씨가 깔려있습니다
다른 것도 아닌 씨++ 기초를 공부하는데
그냥 비주얼 씨에서 해도 그렇게 별 문제가 없을 것 같아
비주얼 씨에서 계속 씨++ 공부를 했었습니다
그런데 이상하게 포인터로 문자열을 출력하는 부분에서 계속 막히더군요
복잡한 것도 아닙니다
===========================================================================================
#include <iostream>
using namespace std ;
int main()
{
char * name = "Tigers" ;
cout << name << endl ;
return 0 ;
}
===========================================================================================
이렇게 해서 실행을 시키면
화면에
Tigers
가 찍히지 않습니까?
저는 문자열 처음에 있는 'T'자를 다른 알파벳으로 바꾸려고
*name = 'G' ;
라는 문장을 넣었습니다
왠걸
빨간 동그라미에 횐색 엑스자가 찍혀 있는 창이 하나 뜨고
그 창에는 다음과 같은 메시지가 있더군요
--------------------------------------------------------------------
응용 프로그램 오류
"0x......."에 있는 명령이 "0x........."의 메모리를 참조했습니다
메모리는 "written" 될 수 없었습니다.
프로그램을 마치려면 [확인] 을 누르십시오
프로그램을 디버그하려면 [취소]를 누르십시오.
[확인] [취소]
--------------------------------------------------------------------
오늘 이것 때문에 하루죙일~~~ 매달렸습니다
아무리 봐도 틀린데가 없는데 왜 실행이 제대로 안되고
에러가 뜨는걸까???
char * name = "Tigers" ;
라고 했지
const char * name = "Tigers" ;
라고 한 것도 아닌데......
책을 계속 봤습니다 되풀이 해서 봤습니다...
안만 생각해봐도 틀린데가 없는 것 같았습니다
거짓말 안하고 오늘 이것 때문에 4~5시간 매달렸습니다
집에 와서...
혹시나 하는 마음에 책 살 때 딸려오는 Borland C++ 정품을 다시
윈도우에 깔고 거기서 비주얼 씨에서 입력했던 것 그대로
입력해서 다시 실행을 시키니까....
실행이 되는게 아닙니까???
황당하더군요
[제가 묻고 싶은 것 하나]
이거 제가 뭘 잘못한 건가요???
아니면 비주얼 씨에 무슨 문제가 있는건가요???
그것도 아니면 저도 잘못하고 비주얼 씨에도 문제가 있었던 건가요???
[제가 묻고 싶은 것 둘]
앞으로 씨++을 공부할 때
비주얼씨 , 볼랜드 씨, 터보씨 등등...
컴파일러 종류는 상관없이 그냥 집히는데로 아무거나 잡고 공부하는게 좋을까요??
아니면 볼랜드 계열에 속하는 컴파일러만 가지고 공부하는게 좋을까요???
[제가 묻고 싶은 것 셋]
윈도우 2000 Pro. 에서 볼랜드 씨++ 3.1로 공부하는데
어떤 문제가 있을까요???
어떤 문제가 없으면 이제부터 그냥 볼랜드 씨++로
공부를 할까 생각 중인데....
혹시나 해서 말입니다
뜻이 제대로 전달이 되었는지 모르겠습니다
친절한 답변 부탁드리겠습니다
뒷말 : 왠지 허무하내요.... T_T
|