programing

C - 오류: 'a'의 저장 크기를 알 수 없습니다.

muds 2023. 10. 8. 10:23
반응형

C - 오류: 'a'의 저장 크기를 알 수 없습니다.

이건 내 C 프로그램인데...

#include <stdio.h>

struct xyx {
    int x;
    int y;
    char c;
    char str[20];
    int arr[2];
};

int main(void)
{
    struct xyz a;
    a.x = 100;
    printf("%d\n", a.x);
    return 0;
}

이것이 제가 받는 오류입니다.

계속하려면 ENTER 또는 type 명령을 누릅니다.

13strument test.c: 기능 '메인'에서:13 struct 테스트.c:13:13: 오류: 'a'의 저장 크기를 알 수 없습니다.13 struct test.c:13:13:경고: 미사용 변수 'a' [-미사용-변수]

당신의 구조는 다음과 같습니다.struct xyx그렇지만a유형의struct xyz. 그것을 고치면, 출력은.

#include <stdio.h>

struct xyx {
    int x;
    int y;
    char c;
    char str[20];
    int arr[2];
};

int main(void)
{
    struct xyx a;
    a.x = 100;
    printf("%d\n", a.x);
    return 0;
}

이 문제를 가지고 있는 사람에게는 오타 오류입니다.구조 변경의 철자와 구조를 확인합니다.

이 경우 사용자는 정의 및 사용에 있어 실수를 저질렀습니다.만약 누군가가 한 일이 있다면,typedef사용하지 않고 동일한 구조로 사용되어야 합니다.struct다음은 그 예입니다.

typedef struct
{
   int a;
}studyT;

함수에서 사용할 경우

int main()
{
   struct studyT study; // This will give above error.
   studyT stud; // This will eliminate the above error.
   return 0;
}

구조를 xyx로 정의하지만 xyz라는 구조를 만들려고 합니다.

이렇게 말합니다.struct xyx a;

의 정확한 오타

struct xyz a;

로.

struct xyx a;

좀 더 좋은 방법으로 디프를 시도해 볼 수 있고, 쉽게 b를 사용할 수 있습니다.

구조를 다음과 같이 정의합니다.xyx, 그러나 당신의 메인에서 당신은struct xyz a; , 이름이 다른 구조의 순방향 선언만 생성합니다.

사용해보기xyx a;그 선 대신에

  1. 주 기능 전에 구조물을 선언합니다.
  2. 해당 변수 이름의 철자 오류를 수정합니다.

제 코드의 단순한 오류를 수정해서 해결했습니다.list_t new_end_code선언이 오류를 가져왔습니다.그럴 것 같네요.

list_t *new_end_code

언급URL : https://stackoverflow.com/questions/8798761/c-error-storage-size-of-a-isn-t-known

반응형