#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct word{
char word[50];
struct Word * front;
struct Word * rear;
}Word;
void main(){
Word arr[100];
Word *ptr = &arr[0];//단어 배열 중앙에 위치할 포인터
int cnt=0;// 입력된 단어의 갯수
int temp;
while(1)
{
printf("단어를 입력하세요:");
scanf("%s",arr[cnt].word);//단어를 배열에 저장
if (cnt == 0)
{
arr[cnt].front = NULL;
arr[cnt].rear = NULL;
cnt++;
}
else if( cnt == 1)
{
if(strcmp( arr[cnt-1].word,arr[cnt].word) ==-1)
{
arr[cnt-1].front = &arr[cnt]; // 여기서 에러
}
else if(strcmp(arr[cnt-1].word,arr[cnt].word) == 1)
{
arr[cnt].front = &arr[cnt-1]; // 여기서 에러
}
}
}
system("pause");
}
실행시키면 Word*형식의 값은 Word* 형식의 엔터티에 할당할 수 없습니다 라는 오류뜨는데
이거 왜안되는거임?
안될 이유가 없는것같은데
빡대가리라서 이해안감 .. 왜안되는거?
링크드리스트 만들라하는데
C언어임
조회수 폭발하네. 에러 로그 스샷좀 구경하고싶은데
갯수->개수 [리듬 맞춤법 봇♬]
무슨 컴파일러 쓰고있는지 모르겠는데... word 구조체 정의에 front랑 rear 타입을, 대문자 쓰지말고 그냥 struct word * front; 라고 해볼ㄹ?
내꺼에선 니 코드대로 하면 struct Word * front; 랑 typedef struct word Word; 가 충돌난다. 중복선언으로
헐 ㅋㅋㅋㅋㅋㅋ 소문자로 하니까 됨. 이거 왜이러냐 웃기네 감사감사
Word로 정의되기 전에 Word라고 써서 그런거 아닌가 싶음
컴파일러는 비쥬얼스튜디오에 있는거 그냥 쓰는중
언어...의 특성도 좀 있을테고, 컴파일러에 따라 여러가지 형태로 오류가 날 수 있는 부분같다.
나도 확실하지 않지만 너 말대로 typedef 내부에 미리 쓰려는 구조체가 있다는 선언을 해주는건데, 아직 typedef 명령어가 끝나기도 전에 적용된 타입인 Word를 써서 나는 오류같다