본문 바로가기

컴퓨터 과학 & 영상처리 관련/C / C++

static이용 함수 내에서 포인터 반환

일단은 이렇게 하면 static은 프로그램 끝날때까지 공간을 차지하고 변경도 안되고...

인자로 받아서 뭔가 static으로 만들어서 쓸만한 결과가 나오면 좋긴 하겠다만


#include <stdio.h>


char* func1()

{

      static char* temp = "hello world";

      

      return temp;      

}


int* func2()

{

     static int num = 10;

     

     return &num;

}


int* func3(int* num)

{

     static int* p = num;

     

     return p;

}


int main(void)

{

    int num = 100;

    printf("%s\n",func1());

    printf("%d\n",*func2());

    printf("%d\n",*func3(&num));

    

    return 0;

}



결과
hello world
10
100