2012. 4. 9. 14:54
Study/C++
수업내용
//*문자열 포인터 선언과 그 차이점
// 메모리에 있어서 상수가 저장되는 곳은 운영체제가 관리하므로 '읽기전용'으로만 사용가능하다
// 프로그램에 사용되는 데이터가 저장되는 영역의 종류 3가지
// 1. Data : 전역변수, 정적변수, 모든 상수
// 2. hip : 동적메모리할당
// 3. stack : 모든 지역변수
int main(void)
{
char* str1="Hello"; // Data 영역에서 운영체제가 관리하는 읽기전용 메모리에 저장된 상수"Hello"의 시작 주소값을 포인터에 복사한 것임 그런고로 쓰기 권한이 없다.
char str2[6]="Hello"; // Data 영역에서 "Hello"가 stack영역의 str2[6]으로 복사가 이루어졌으므로 stack영역에 생성된 공간(str2[6])으로 엑세스 하므로 읽기/쓰기에 제한이 없다.
//*str1='A'; // 운영체제가 관리하는 Data영역에 쓰기권한으로 접근을 할 경우 불법적인 접근으로 간주하여 에러가 발생
printf("%s\n", str1);
printf("%s\n", str2);
return 0;
}
'Study > C++' 카테고리의 다른 글
[객체지향프로그래밍1] 120423 함수 (0) | 2012.04.23 |
---|---|
[객체지향프로그래밍1] 120412 동적할당 (0) | 2012.04.12 |
[객체지향프로그래밍1]과제-120402 2차원배열 연산 (0) | 2012.04.02 |
[객체지향프로그래밍1] 120402 배열, 전처리기 (0) | 2012.04.02 |
[객체지향프로그래밍1] 120329 과제 : 소수 구하기 (0) | 2012.03.29 |