는이 같은 구조체를 만든 :의 malloc, 구조체
struct a{
char *name;
char *value;
struct a *next;
};
내가 처음에 메모리를 malloc에, 괜찮아, 내가 '이름'과 '가치'해당 값을 설정할 수 있습니다. 하지만 두 번째로 malloc을 사용하면 오류가 발생합니다. 그리고 그것은 cgi입니다, 그냥 "500 Internal server error"라고 말해주세요.
'name'및 'value'포인터를 array로 변경하면 모든 것이 작동합니다.
아마도 컴파일러는 할당 할 메모리 양을 알지 못할 것이라고 생각했습니다.
그리고이 아이디어가 있습니까? 모든 대답을 고맙게 생각합니다!
"a-> name"또는 "a-> value"값에 직접 저장했거나 _them_에 대한 메모리를 할당 했습니까? – sarnold
메모리를 할당하지 않고 직접 값을 저장합니다. 그리고 Keith Thompson이 논평 한 바와 같이, 나는 name과 a-> value를 위해 메모리를 할당한다. 차이점을 아십니까? 고맙습니다! – trinity