반응형
상수 사용의 의미
특정 값을 변경시키지 않기 위함
변수 사용의 의미
특정 값을 변경시키기 위함
상수 사용하는 이유
상수를 사용함으로써 프로그램에서 런타임 도중 변경해야할 데이터와 그렇지 않은 데이터를 구분할 수 있다.
이를 구분함으로써 프로그램 개발이 명확해진다.
만약 엄청 많은 문자열 변수로만 모든 문자열을 정의한다면 문자열 관련해서 에러가 발생했을 때 디버깅에 많은 시간을 들여야한다.
하지만 이 때 상수를 사용해주면 이에 대한 문제를 예방할 수 있다.
그래서 C에서는 문자열 상수와 변수의 기능을 모두 제공해준다.
이 때 문자열 상수는 DATA 영역에 저장되는데, 이는 포인터형식으로 정의되어있어서 char*로 접근한다.
변수는 char t[]와 같이 배열로 선언한다.
ex)
char* ptr = "name";
char arr[] = "smith";
ptr[0] = 't'; //error 상수를 조작할려고 하므로
ptr = arr; // no error. char*형식의 ptr에 담기는 내용이 변수가 아닐라 배열의 첫번째 요소를 가리키는 것이므로
arr = ptr; // error. 배열에 상수 대입 자체는 논리적으로 성립하지 않으므로.
ptr[0] = 't'; //no error 문자열 변수를 조작하는 것이므로
반응형
'Programming > C_C++' 카테고리의 다른 글
포인터와 배열의 관게 (0) | 2012.02.23 |
---|---|
상속 (0) | 2011.10.10 |
C++에서의 파일 입출력 ** (0) | 2011.08.18 |
전처리기 활용 ** (0) | 2011.08.17 |
전처리기 (0) | 2011.08.17 |