구조체 질문이요..!!!
글쓴이: 익명 사용자 / 작성시간: 금, 2002/06/07 - 9:35오전
리눅스에서 짠거거든요..
gcc g++ 모두 세그멘테이션 오류가 나는데..헉헉..
모르겠네요...
길지 않으니깐 쪼금만이라도 봐주고 조언좀 해주세요..!!
#include
#include
#include
typedef struct{
int a;
int b;
}sttest;
int main(void)
{
sttest x;
sttest *py;
x.a = 1;
py-> a = 2;
printf("%d\n", x.a);
printf("%d\n", sizeof(sttest));
return 0;
}
Forums:
Re: 구조체 질문이요..!!!
py-> a = 2; 이게 문제군요.
포인터 변수만 선언하고 공간을 할당 하지 않았군요.
아래처럼 한 다음 사용 하세요.
sttest y;
sttest *py;
py = &y;
py-> a = 2;
Re^2: 구조체 질문이요..!!!
윗 님의 말씀데로 메모리 문제입니다.
malloc()를 이용해서 메모리를 할당해주면. 될거에요..
py = (struct sttest *)malloc(sizeof(struct sttest *));
위의 내용을
py-> a = 2;
위에 써 주면 됩니다.
메모리가 할당되지 않은 변수에 값을 삽입하여 발생한 오류입니다.
포인터형 구조체는 형만 선언된 것이지 실제로 메모리는 가지고 있지 않거
든여... 도움 되셨길 ^^
댓글 달기