여기에 내가 포인터를 사용하여 구조에서 문자열을 출력하기 위해 쓴 코드입니다 : 내가 함수의 변수 페이지를 선언하지 않은 말을 지금포인터는 문자열을 반환하지 않는 구조
#include <stdio.h>
#include <stdlib.h>
struct xenon
{
int size1;
int marks[10];
char *w;
struct xenon *p;
} x1,x2;
main()
{
x1.size1=10;
x2.size1=6;
printf("%d\n",x1.size1);
printf("%d\n",x2.size1);
(*p).w="my word";
printf("%s\n",(*p).w);
printf("%s\n",x1.w);
}
내가 오류가가 본관. 그러나 그것은 내가 선언 할 때도 마찬가지이다.
x1.w="my word";
printf("%s",x1.w);
나는 구조체 바로 바깥에서 포인터 변수를 선언하려고 시도했지만 여전히 컴파일되지 않았다. 구조체에 대한 포인터를 선언하는 방법에 문제가 있습니까? 아니면 완전히 다른 것입니까?
음, x1과 x2를 정의했습니다. 따라서 x1.p와 x2.p가 있지만 코드에서 초기화되지 않았습니다. 예 : x1.p = &x2; – Steger
'x1'과'x2'는 전역 변수이므로 존재합니다. – AntonH