C

[C언어] 문자열 초기화 방법

호박고구마123 2022. 2. 25. 22:29

문자열 초기화 방법에는 2가지 방법이 존재

 

  • 첫번째 방법
char* name = “hello”;

 

  • 두번째 방법
char name[] = “hello”;

 

2가지 방법의 차이는 무엇인가?

  • 1의경우 name변수에는 데이터섹션에있는 hello의 시작주소(포인터)를 저장을 함
  • 2의경우는 데이터섹션에 있는 hi를 스택메모리로 복사해옴, 스택메모리에있는 hello의 시작주소(포인터)를 저장
  • 따라서 1의경우는 데이터섹션에있는 원본의값을 의도치 않게 덮어 쓸 위험이 있음
댓글수0