목록C언어/C언어 코딩 도장 (103)
문타쿠, 공부하다.

48.5 연습문제: 좌표 구조체 정의하기 #include struct Point2D { int x; int y; }; int main(void) { struct Point2D p1; p1.x = 10; p1.y = 20; printf("%d %d\n", p1.x, p1.y); return 0; } 48.6 연습문제: typedef로 좌표 구조체 정의하기 #include typedef struct _Point2D { int x; int y; } Point2D; int main(void) { Point2D p1; p1.x = 10; p1.y = 20; printf("%d %d\n", p1.x, p1.y); return 0; } 48.7 연습문제: 익명 구조체로 좌표 구조체 정의하기 #include typed..

INTRO 구조체란? 자료를 체계적으로 관리하기 위한 문법 struct 키워드로 정의 struct Person { char name[20]; int age; char address[100]; }; 48.1 구조체를 만들고 사용하기 방법 1) 구조체 정의와 구조체 변수 선언을 따로하기 #define _CRT_SECURE_NO_WARNINGS #include #include // 구조체 정의 struct Person { char name[20]; // 구조체 멤버 1 int age; // 구조체 멤버 2 char address[100]; // 구조체 멤버 3 }; int main(void) { // 구조체 변수 선언 struct Person p1; // 점으로 구조체 멤버에 접근하여 값 할당 strcpy(p..

47.3 연습문제: 정수 회문 판별하기 #define _CRT_SECURE_NO_WARNINGS #include #include #include int main(void) { long long num1; char text[30]; printf("정수를 입력하세요>> "); scanf("%lld", &num1); sprintf(text, "%lld", num1); int length; bool isPalindrome = true; length = strlen(text); int begin = 0; int end = length - 1; while (begin < end) { if (text[begin] != text[end]) { isPalindrome = false; break; } begin++; en..

47.1 회문 판별 회문(palindrome)이란? -> 순서를 거꾸로 읽어도 제대로 읽은 것과 같은 단어나 문장을 말한다. ex) 우영우, 기러기, 토마토, SOS, rotator, level ... 내가 작성한 회문 판별 코드 #define _CRT_SECURE_NO_WARNINGS #include #include int main(void) { char word[20]; int length; int palindrome; printf("단어를 입력하세요>> "); scanf("%s", word); length = strlen(word); for (int i = 0; i length - (i + 1))) bre..

46.7 연습문제: 문자열을 10진 정수로 변환하기 #include #include int main(void) { char* s1 = "20972"; int num1; num1 = atoi(s1); printf("%d\n", num1); return 0; } 46.8 연습문제: 문자열을 16진 정수로 변환하기 #include #include int main(void) { char* s1 = "0x1facefee"; int num1; num1 = strtol(s1, NULL, 16); printf("0x%X\n", num1); return 0; } 46.9 연습문제: 문자열을 실수로 변환하기 #include #include int main(void) { char* s1 = "97.527824"; float..

46.1 문자열을 정수로 변환하기 문자열을 정수로 바꾸려면? -> atoi 함수를 사용 + stdlib.h 헤더 파일에 선언되어 있음 #include #include int main(void) { char* s1 = "283"; // 283은 문자열 int num1; num1 = atoi(s1);// 문자열을 정수로 변환하여 num1에 할당 printf("%d\n", num1); return 0; } * 문자열은 정수로 되어 있어야 하며 알파벳, 특수문자가 포함되면 해당 문자부터는 변환 ㄴㄴ * 처음부터 숫자가 아니면 0으로 변환 283a -> 283 283a30 -> 283 283! -> 283 283!30 -> 283 a30 -> 0 !30 -> 0 acc -> 0 !@# -> 0 46.2 특정 진법..

45.6 연습문제: 문자열 자르기 #define _CRT_SECURE_NO_WARNINGS #include #include int main(void) { char s1[40] = "Alice's Adventures in Wonderland"; char* ptr = strtok(s1, " "); while (ptr != NULL) { printf("%s\n", ptr); ptr = strtok(NULL, " "); } return 0; } 45.7 심사문제: 문자열 자르기 #define _CRT_SECURE_NO_WARNINGS #include #include int main(void) { char domain[61]; printf("인터넷 도메인 입력>> "); scanf("%s", domain); pr..

주어진 문자열을 자르는 방법을 알아보자. -> 문자열 자르기는 포인터를 이용한다. 45.1 문자를 기준으로 문자열 자르기 문자열에서 문자를 자르는 방법 -> strtok 함수를 사용하면 특정 문자를 기준으로 문자열을 자를 수 있으며, string.h 헤더 파일에 선언되어 있다. #define _CRT_SECURE_NO_WARNINGS #include #include int main(void) { char s1[30] = "The Little Prince"; // " " 공백 문자를 기준으로 문자열을 자름, 포인터 반환 // 기준 문자를 ' ' 작은 따옴표로 묶으면 ㄴㄴ char* ptr = strtok(s1, " "); // 자를 문자열이 나오지 않을 때까지 반복 while (ptr != NULL) { ..

44.5 연습문제: 문자열 안에서 문자로 검색하기 #include #include int main(void) { char s1[30] = "Alice in Wonderland"; char* ptr = strchr(s1, 'n'); while (ptr != NULL) { printf("%s\n", ptr); ptr = strchr(ptr + 1, 'n'); } return 0; } 44.6 연습문제: 문자열의 오른쪽 끝부터 문자로 검색하기 #include #include int main(void) { char s1[30] = "The Little Prince"; char* ptr = strrchr(s1, 'i'); printf("%s\n", ptr); return 0; } 44.7 심사문제: 공백 개수 세..

문자열에서 문자와 문자열로 검색하는 방법을 알아보자. -> 문자열 검색은 포인터를 이용한다. 44.1 문자열 안에서 문자로 검색하기 문자열에서 특정 문자로 검색하는 방법 -> strchr 함수를 사용하면 문자열에서 특정 문자로 검색할 수 있으며, string.h 헤더 파일에 선언되어 있다. #include #include int main(void) { char s1[30] = "A Garden Diary"; // 'a'로 시작하는 문자열 검색, 포인터 반환 char* ptr = strchr(s1, 'a'); // 검색한 문자열이 없을 때까지 반복 while (ptr != NULL) { // 검색된 문자열 출력 printf("%s\n", ptr); // 포인터에 1을 더하여 a 다음부터 검색 ptr = s..