C 언어 썸네일형 리스트형 Linked List 구현하기 (2) 저번에 간단하게 Linked List를 구현해봤는데, 삽입, 삭제, 조회 기능을 만들지 못해서 이번에 한꺼번에 코드를 작성해 보았습니다. #include #include typedef struct _node { int data; struct _node* next; struct _node* prev; }Node; Node* head = NULL; Node* tail = NULL; Node* cur = NULL; Node* newNode = NULL; void LInsert(int data) { newNode = (Node*)malloc(sizeof(Node)); newNode->data = data; newNode->next = NULL; newNode->prev = NULL; if (head == NUL.. 더보기 C에서 문자열 반환하는 함수 만들기 프로그램을 짜다보면 문자열을 반환하는 함수를 만들어야 할 때가 있습니다. 사실 파이썬에선 문자열 반환이 간단한 편인데, C에서는 어떨까요? 어떤 형식으로 반환을 해야 문자열 반환이 가능할까요? const char* string() { return "Hello World!"; } int main(void) { printf("%s", string()); } 위와 같이 const char* 형식으로 반환을 하면 됩니다. 왜 그럴까요? 사실 c에서 문자열이라는 것은 char 데이터로 이루어진 배열을 뜻하게 됩니다. 그렇다면 그 문자열을 가리키는 주소값은 어떤 값을 가리키고 있을까요? c에서 배열을 사용하는 것과 똑같은데, 바로 문자열 제일 처음을 가리키게 됩니다. 그렇게 되므로써 %s를 만나고 '\0' 값을 만.. 더보기 scanf의 맹점 / 입력 버퍼 C언어로 문제를 풀다가 아래와 같은 입력 값을 받았습니다. 1 3 A 10 B 7 C 5 그래서 저는 A와 10을 따로 변수에 담기 위해서 아래와 같은 코드를 이용했습니다. #include int main(void) { int num; char word; int T; int N; scanf("%d", &T); for (int t = 1; t 더보기 "const char *" 형식의 값을 사용하여 "char *" 형식의 엔터티를 초기화할 수 없습니다. - 에러 수정 C 언어 공부 중 만난 에러입니다. 기본적으로 C 언어에선 포인터 개념을 사용합니다. 문자열에서도 이와 같은 개념을 똑같이 적용할 수 있는데, 분명 책에선 잘 된다고 되어있는데, 작동을 했을 때 에러가 발생해서 그 해결법을 적어보려 합니다. 문제의 코드입니다. #include int main(void) { char* str = "안녕"; printf("%s", str); } 간단하죠? 되게 간단한데 str 포인터가 "안녕"이라는 상수를 가리킬 수가 없습니다. str과 "안녕"의 형식이 달라서 발생하는 오류입니다. 해결방법은 2가지가 있습니다. 1. str을 const로 바꾼다. #include int main(void) { const char* str = "안녕"; printf("%s", str); } .. 더보기 이전 1 다음