struct A a;
fuc1(){ struct A *a1;
fuc2(&a1); printf("%d, %d\n",a1->n1, a1->n2);
}
fuc2(struct A a1){ a1->n1 = 1; a1->n2 = 2; }
위 소스 코드가 무슨 문제가 있을까요?
a1 에 메모리가 할당되어있지 않군요.
삽질의 대마왕...
struct A a; fuc1(){ struct A *a1; fuc2(&a1); printf("%d, %d\n",a1->n1, a1->n2); } fuc2(struct A a1){ a1->n1 = 1; a1->n2 = 2; } 위 소스 코드가 무슨 문제가 있을까요?
이렇게 해야 원했던 답이 나오지 않을까요? 님이 원했던 방식을 생각해 본 결과..맞나??
typedef struct{ int n1; int n2; } A; void func2(A *a1){ a1->n1=1; a1->n2=2; } void func1(){ A a1; // 포인터 선언이 아닙니다. func2(&a1); printf("%d, %d\n", a1.n1,a1.n2); }
또는
typedef struct{ int n1; int n2; } A; void func2(A *a1){ a1->n1=1; a1->n2=2; } void func1(){ A *a1; a1=(A *)malloc(1*sizeof(A)); func2(a1); printf("%d, %d\n", a1->n1,a1->n2); free(a1); }
학교 숙제가 아니길....
//-------------------------------------- // Not a Programmer, but..... // ~ EveryDay MiSo ~ //--------------------------------------
a1 에 메모리가 할당되어있지 않군요.
a1 에 메모리가 할당되어있지 않군요.
삽질의 대마왕...
Re: 간단한 구조체 문제
이렇게 해야 원했던 답이 나오지 않을까요?
님이 원했던 방식을 생각해 본 결과..맞나??
typedef struct{ int n1; int n2; } A; void func2(A *a1){ a1->n1=1; a1->n2=2; } void func1(){ A a1; // 포인터 선언이 아닙니다. func2(&a1); printf("%d, %d\n", a1.n1,a1.n2); }또는
typedef struct{ int n1; int n2; } A; void func2(A *a1){ a1->n1=1; a1->n2=2; } void func1(){ A *a1; a1=(A *)malloc(1*sizeof(A)); func2(a1); printf("%d, %d\n", a1->n1,a1->n2); free(a1); }학교 숙제가 아니길....
//--------------------------------------
// Not a Programmer, but.....
// ~ EveryDay MiSo ~
//--------------------------------------