C
[C언어] 문자열 초기화 방법
호박고구마123
2022. 2. 25. 22:29
문자열 초기화 방법에는 2가지 방법이 존재
- 첫번째 방법
char* name = “hello”;
- 두번째 방법
char name[] = “hello”;
2가지 방법의 차이는 무엇인가?
- 1의경우 name변수에는 데이터섹션에있는 hello의 시작주소(포인터)를 저장을 함
- 2의경우는 데이터섹션에 있는 hi를 스택메모리로 복사해옴, 스택메모리에있는 hello의 시작주소(포인터)를 저장
- 따라서 1의경우는 데이터섹션에있는 원본의값을 의도치 않게 덮어 쓸 위험이 있음