어떻게 char * 변수에 문자열을 할당 할 수 있으며 이전에 메모리를 할당 할 필요가 없습니까?ANSI C (메모리 할당)의 문자열 처리
예를 들어 함수에 char * (예 : 파일 경로)가 있으면이 함수를 호출합니다.
char* path;
path = get_path();
가 어떻게 위치의 char * 내가 경로의 길이가 될 것입니다 무엇인지 모르는 경우 행동을 기대할 수? 그것은 이전이 과제가 "경로"의 경로의 크기를 할당하기 위해 꼭 필요하다?
정말 고마워!, 나는 그 문서를 확실히 읽을 것이다. 그러나, path = "/ home/blah"와 같은 일을하면 어떻게됩니까? 문자열에 이전 메모리 할당이 어떻게 할당되어 있습니까? –
@GuillermoGruschka : 문자열 리터럴 자체에 할당 된 메모리가 있습니다. ''/ home/blah "'와 종료하는 널 문자' '\ 0' '를 포함하는 프로그램 실행 (정적 저장 기간)의 수명 동안 존재하는'char'의 익명 배열이 있습니다. –