c & c++/문자열

문자열 포인터1

일상코더 2022. 7. 25. 15:38

 

#include <stdio.h>

//메모리 영역
//1. 데이터 영역
//2. 힙 영역
//3. 스택 영역
//4. ROM (읽기 전용)



int main(void)
{
	//1. 1byte 문자 자료형 char unsigned 일때 0 ~ 255만큼 표현가능
	char c = 'a';

	//2. 2byte 문자 자료형 wchar_t 2byte 이기 때문에 훨씬 많은 문자를 표현가능
	wchar_t cc = L'a';  //L자 사용

	char szChar[10] = "abcedf";  // [a, b, c, d, e, f, '\0']
	wchar_t szWct[10] = {97, 98, 99, 100, 101, 102}; // [a, b, c, d, e, f, '\0']

	short arrShort[10] = { 97, 98, 99, 100, 101, 102 };
	printf("%c ", arrShort[0]);

	//const wchar_t* pChar = L"abcedf";  //const 문자열 수정을 방어하기 위함 + 애초에 문자열 반환type이 const
	wchar_t* pChar = (wchar_t*)L"abcedf";

	pChar[0] = 'd'; //읽기 전용 메모리 자체를 수정 하려 함으로 런타임에서 오류

	return 0;
}