'문자열 상수'에 해당되는 글 1건

  1. 2007/07/14 char *s="hello" 와 char s[]="hello"의 차이점 (메모리 측면) (2)
#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" ->  쓰레기값이 출력됨

문자열 상수는 스택이 아닌 힙 영역에,
배열의 경우에는 스택에 생성되는 것 같다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
Posted by 두렁청해