물론 const라고 선언한 변수가 상수라는 것과 한번 선언된 const변수는 변경할 수 없다는것
을 알고 있습니다...
하지만 제가
void getvalue( const char *message,long *value);
main()
{
....
getvalue("Enter the first integer:",&value1);
getvalue("Enter the second integer:",&value2);
....
}
에서 보듯이 const char *message 가 "Enter the first integer" "Enter the second Integer"
를 받는데 이점이 이상합니다.
그리고 void getvalue( *message,long *value) 라고 선언하구 사용하는 경우
메모리에 어떤 차이가 있는지 궁금합니다.
룡 님이 쓰신 글 :
: const라는 것은 말 그대로 상수를 의미합니다. 상수라는 것은 프로그램 내에서 한번
: 정의된 후에는 변할 수 없는 값을 의미하는 것이지요..
: 예를 들어
: const char *pMessage1;
: // pMessage1에의해 포인트된 케릭터 형이 상수라는 것을 의미합니다.
: 또 다른 예로 아래와 같은 정의도 가능한데
: char const *pMessage2;
: // pMessage2 가 상수이기 때문에 pMessage2에는 다른주소값을 대입할수 없음을 의미
:
: 위의 두가지 정의의 차이를 잘 보시고 이해하시기 바랍니다. const의 위치를 잘 보세요^^
:
:
: 김진수 님이 쓰신 글 :
: : 두개의 정수를 받아 곱해서 보여주는 프로그램이 있다고 하죠.
: :
: : 값을 받는데 void getvalue( const char *message, long *value); 라는 함수를 씁니다
: :
: : 여기서 void getvalue( char *message, long *value); 하고 어떤 차이점이 있는지 궁금합니다.
: :
: :
: : main()
: : {
: : ....
: :
: : getvalue("Enter the first integer:",&value1);
: : getvalue("Enter the second integer:",&value2);
: : ....
: :
: : }
: :
|