## 포인터를 반환해서 문제가 발생된 경우
1) 전역변수와 지역변수로 해결이 되지 않는 상황
2) 혹시 전역변수가 답이 된다고 생각하는가?
3) 문자열 반환하는 함수를 정의하는 문제의 해결
# stdlib.h 필요
#include <stdio.h>
#include <stdlib.h>
char * ReadUserName(void)
{
char * name = (char *)malloc(sizeof(char)*30);
printf("What's your name? ");
gets_s(name,30);
return name;
}
int main(void)
{
char * name1;
char * name2;
name1=ReadUserName();
printf("name1: %s \n", name1);
name2=ReadUserName();
printf("name2: %s \n", name2);
printf("again name1: %s \n", name1);
printf("again name2: %s \n", name2);
free(name1);
free(name2);
return 0;
}
힙영역의 메모리 공간 할당과 해제
malloc 함수의 반환형이 void형 포인터인 이유
힙 영역으로의 접근
free 함수를 호출하지 않으면?
calloc & realloc
realloc 함수의 보충 설명
'윤성우 열혈강의 C 정리' 카테고리의 다른 글
[ C 열혈강의 ] 대표적인 선행처리 명령문 (0) | 2022.06.29 |
---|---|
[ C 열혈강의 ] 매크로와 선행처리기 (0) | 2022.06.29 |
[ C 열혈강의 ] C언어의 메모리 구조 (0) | 2022.06.29 |
[ C 열혈강의 ] 임의 접근을 위한 파일 위치 지시자의 이동 (0) | 2022.06.29 |
[ C 열혈강의 ] 텍스트 데이터와 바이너리 데이터를 동시에 입출력하기 (0) | 2022.06.29 |