Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 알고리즘
- 자바스크립트
- cors
- 웹팩
- GraphQL
- RT scheduling
- RxJS
- 컨테이너
- 스택
- C
- 자료구조
- 이진탐색
- alexnet
- 해시테이블
- 프로세스
- 큐
- APOLLO
- 프로그래머스
- 연결리스트
- Machine Learning
- pytorch
- 릿코드
- vue3
- 타입스크립트
- 포인터
- 연결 리스트
- 코딩테스트
- 배열
- 프론트엔드
- 브라우저
Archives
- Today
- Total
프린세스 다이어리
incompatible pointer types assigning to 'struct Node *' from 'Node *' [-Wincompatible-pointer-types] 해결 방법 본문
C, C++
incompatible pointer types assigning to 'struct Node *' from 'Node *' [-Wincompatible-pointer-types] 해결 방법
개발공주 2021. 10. 14. 22:33728x90
연결 리스트 구조체를 만드는 과정에서 다음과 같은 에러가 발생했다.
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int data;
struct Node *next;
} Node;
Node *head;
int main(void)
{
head = (Node*) malloc(sizeof(Node));
Node *node1 = (Node*) malloc(sizeof(Node));
node1 -> data = 1;
Node *node2 = (Node*) malloc(sizeof(Node));
node2 -> data = 2;
head -> next = node1;
node1 -> next = node2;
node2 -> next = NULL;
Node *cur = head -> next;
while (cur != NULL)
{
printf("%d ", cur -> data);
cur = cur -> next;
}
}
main.c:20:18: warning: incompatible pointer types assigning to 'struct Node *' from 'Node *'
[-Wincompatible-pointer-types]
head -> next = node1;
^ ~~~~~
main.c:21:19: warning: incompatible pointer types assigning to 'struct Node *' from 'Node *'
[-Wincompatible-pointer-types]
node1 -> next = node2;
^ ~~~~~
main.c:24:11: warning: incompatible pointer types initializing 'Node *' with an expression of type
'struct Node *' [-Wincompatible-pointer-types]
Node *cur = head -> next;
^ ~~~~~~~~~~~~
main.c:29:13: warning: incompatible pointer types assigning to 'Node *' from 'struct Node *'
[-Wincompatible-pointer-types]
cur = cur -> next;
^ ~~~~~~~~~~~
4 warnings generated.
1 2 %
이 문제는 컴파일러가 Node와 struct Node를 다른 타입으로 보기 때문에 워닝이 뜨는 것이다. typedef struct를 typedef struct Node로 고치면 해결이 된다.
typedef struct Node {
int data;
struct Node *next;
} Node;
728x90
'C, C++' 카테고리의 다른 글
[C] 선택 정렬과 삽입 정렬 원리, C언어로 구현하기 (0) | 2021.11.06 |
---|---|
자료구조 큐를 C언어 연결 리스트로 구현하기 (0) | 2021.10.25 |
[C] 전처리기를 사용하여 프로그램을 작성하는 방법 (0) | 2021.10.12 |
[C] 파일 입출력이 왜 필요한가요? C언어로 파일 입출력 해보기 (0) | 2021.10.01 |
[C] 구조체가 무엇인가요? 구조체의 개념, 활용하는 방법 (0) | 2021.10.01 |
Comments