구조체에 char 포인터가 있습니다. 이 구조체 멤버에 정적 메모리를 할당하려고합니다. 어떻게해야합니까?C에서 구조체에 정의 된 문자 포인터에 정적 메모리 할당
예 :
struct my_data {
int x;
bool y;
char *buf;
};
방법이 문자 포인터에 10 바이트 정적 메모리를 할당? 내가 동적 메모리 할당을 할당 malloc 알아. 이거 괜찮아?
struct my_data data;
char buffer[10];
data.buf = &buffer[0];
추신 :이 구조체를 변경하고 동적 메모리를 할당하기 위해 malloc을 사용할 수 없습니다. buffer
가 끊임없이 지속되는 수명이 있어야합니다 또는 당신이 어디에가 (즉 루틴을 해제 아니에요 있는지 확인해야합니다
data.buf = buffer;
참고 : (배열이 자동으로 포인터 붕괴)도 간단합니다
정적이란 프로그램의 전체 실행 시간 동안 지속되어야한다는 의미입니까? 그리고 당신이 한 것은 합법적 인 것이지만 그것이 올바른지 여부는 귀하의 어플리케이션 요구 사항에 달려 있습니다. – StoryTeller
감사합니다. @StoryTeller. – mehtame026