#include <stdio.h>
void test(char **);
int main()
{
char *str1;
test(&str1);
printf("%s\n", str1);
return 0;
}
void test(char **str)
{
char s[] = "hello";
// char *s = "hello";
// 위의 두 가지를 번갈아가며 컴파일 했을 때 결과를 비교
*str = s;
}
결과를 비교해보면
char *s="hello" -> hello 라 출력됨
char s[]="hello" -> 쓰레기값이 출력됨
문자열 상수는 스택이 아닌 힙 영역에,
배열의 경우에는 스택에 생성되는 것 같다.
void test(char **);
int main()
{
char *str1;
test(&str1);
printf("%s\n", str1);
return 0;
}
void test(char **str)
{
char s[] = "hello";
// char *s = "hello";
// 위의 두 가지를 번갈아가며 컴파일 했을 때 결과를 비교
*str = s;
}
결과를 비교해보면
char *s="hello" -> hello 라 출력됨
char s[]="hello" -> 쓰레기값이 출력됨
문자열 상수는 스택이 아닌 힙 영역에,
배열의 경우에는 스택에 생성되는 것 같다.
TAG 문자열 상수

이올린에 북마크하기
이올린에 추천하기
