내 문자열의 예약 메모리를 만들기 위해 매크로를 만들었습니다. C. 다음과 같이 보입니다 :문자열의 메모리를 예약하는 방법은?
#define newString(size) (char*)malloc(sizeof(char) + size)
개인 프로젝트에서이 매크로를 사용하지 않아야하는 이유가 있습니까? 나는 생산 코드에서 이것을하지 말아야한다는 것을 알고있다. 왜냐하면 모든 사람들이 그 헤더 파일을 가지고 있고 누구나가 newString
이 매크로라는 것을 알기를 요구하기 때문이다.
왜 'size + 1'이 필요한지를 설명하기 위해 +1 – ChrisF
'size + 1 '대신에 더 읽기 쉬운'size + sizeof ('\ 0')'를 사용하십시오. –