char* v;
v는 문자, 문자열이 저장된 메모리의 첫주소를 저장할 수 있는 포인터변수.
char* v = "문자열상수1"; 초기화 했어도 코드중에 언제든 변경가능.
v="문자열상수2"; v="문자열상수3"; 등등. 모두 가능.
const char * v;
v는 문자열이 저장된 메모리의 첫주소를 저장할 수 있는 포인터변수,
금지되는것 : v 주소 메모리의 내용 변경불가.
즉, v는 "상수문자열" 의 포인트변수라는 의미.
한편, const 의 대상이 v 자체가 아니므로 v가 가리키는 주소는 변경가능함.
예를들면,
const char* v = "난 문자열 상수1이다"; 로 초기화 했어도, 코드상에서 아래 처럼 다른 문자열의 메모리 주소를 대입가능하다는 말.
v = "난 문자열 상수2임."; 가능함. v에 다른 문자열주소는 대입가능.
*v = "난 문자열 상수2임."; 허용안됨. v 주소메모리의 값을 변경 의도한것인데, const char* v; 의 정의가 이런거 못하게 하는거임.
char* const v;
v는 문자열이 저장된 메모리의 첫주소를 저장할 수 있는 포인터변수,
금지되는것 : 초기화 할때 한번 지정된 문자열 메모리 주소 변경못함.
예를들면,
char* const v = "난 문자열 상수1이다."; 로 초기화 했는데,
코드중에서 v="난 문자열 상수2임."; 으로 하는것 허용안됨.
본 글이 포함된 상위 정리 장소.
Visual Studio/VC++/C/C# 활용정리 -> http://igotit.tistory.com/11
|
///515.
'VisualStudio.C++.C# > 코딩팁,함수활용,단편' 카테고리의 다른 글
ATL Collection Classes (0) | 2015.12.28 |
---|---|
정수형 signed, unsigned 8, 16, 32, 64비트별 값 표현 범위. (0) | 2015.12.24 |
문자열을 숫자로. atoi, _atoi_l, _wtoi, _wtoi_l,atol, _atol_l, _wtol, _wtol_l, atof, _atof_l, _wtof, _wtof_l (0) | 2015.12.23 |
CString, LPCTSTR, LPTSTR. (0) | 2015.12.21 |
VC++. 출력 언어 고정하기.예. #pragma setlocale("kor") (0) | 2015.12.18 |
댓글