3
를 해제 할 때 SIGABRT를이 내가 필요한 공간을 할당하는 방법입니다 방법 :문자 포인터
char *all_type_str;
...
all_type_str = malloc(sizeof(char)*4);
설정 문자열 : 다른 배열을 설정
strcpy(all_type_str,"all");
:
...
values[0].value = all_type_str;
및 자유 값 배열 :
for (i=0; i<arrSize; i++)
{
free(values[i].value); // <-- SIGABRT
}
free(values);
할당 값 배열 : 1 위를 해제하려고 할 때 내가 원하는 "all"
문자열
와 NOT NULL 포인터를 가지고 있지만 어떤 이유로 내가 SIGABRT
를 얻을 수 있음을 알 수 GDB를 사용
values = malloc(sizeof(struct cnf)*adjArrSize);
배열에.
왜 이런 일이 발생하는지 알고 싶습니다.
우리는'values'가 어떻게 할당되고'arrSize'가되는지 그리고 전체 레이아웃인지 알아야합니다. – orlp