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

43.4 연습문제: 숫자와 문자열을 조합하여 문자열 만들기 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { char s1[20]; sprintf(s1, "%dth %s", 9, "Symphony"); printf("%s\n", s1); return 0; } 43.5 연습문제: 서식에 맞게 문자열 만들기 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { char s1[20]; sprintf(s1, "%d %d %d %c %d", 10, 20, 30, 'c', 99); printf("%s\n", s1); return 0; } 43.6 심사문제: 서수 줄임말 문자열 만들기 #define _CRT_SEC..

43.1 서식을 지정하여 배열 형태로 문자열 만들기 지금까지 사용한 printf 함수는 문자열을 화면에만 출력할 수 있었다. 그럼 화면에 출력하지 않고 문자열을 만들어서 따로 저장할 수 없을까? ->이때 사용하는 것이 sprintf 함수 sprintf 함수? -> 서식(format)을 지정하여 문자열을 만들 수 있으며, stdio.h 헤더 파일에 선언되어 있다. #define _CRT_SECURE_NO_WARNINGS #include int main(void) { char s1[20]; // "Hello, %s"로 서식을 지정하여 s1에 저장 sprintf(s1, "Hello, %s", "world!"); printf("%s\n", s1); return 0; } sprintf 함수로 문자열을 생성할 때 ..

42.6 연습문제: 문자열 포인터를 배열에 복사하기 #define _CRT_SECURE_NO_WARNINGS #include #include int main(void) { char* s1 = "C language"; char s2[20]; strcpy(s2, s1); printf("%s\n", s2); return 0; } 42.7 연습문제: 문자열 포인터를 동적 메모리에 복사하기 #define _CRT_SECURE_NO_WARNINGS #include #include #include int main(void) { char* s1 = "The Little Prince"; char* s2 = malloc(sizeof(char) * 20); strcpy(s2, s1); printf("%s\n", s2); f..

42.1 문자열 복사하기 문자열은 다른 배열이나 포인터(메모리)로 복사할 수 있다. -> strcpy 함수를 사용하며 string.h 헤더 파일에 선언되어 있다. 1) 문자 배열을 사용하여 문자열 복사하기 #define _CRT_SECURE_NO_WARNINGS #include #include int main(void) { char s1[10] = "Hello"; char s2[20]; strcpy(s2, s1); printf("%s\n", s2); return 0; } 2) 문자열 포인터를 사용하여 문자열 복사하기 #define _CRT_SECURE_NO_WARNINGS #include #include int main(void) { char* s1 = "Hello"; char* s2 = ""; strc..

41.4 연습문제: 문자열 길이 구하기 #include #include int main(void) { char* s1 = "C Language"; printf("%d\n", strlen(s1)); return 0; } 41.5 연습문제: 문자열 비교하기 #include #include int main(void) { char* s1 = "Pachelbel Canon"; char* s2 = "Pachelbel Canon"; printf("%d\n", strcmp(s1, s2)); return 0; } 41.6 심사문제: 문자열 길이 구하기 #define _CRT_SECURE_NO_WARNINGS #include #include int main(void) { char s1[30]; printf(">> "); ..

41.1 문자열 길이 구하기 문자열의 길이는 strlen 함수로 구할 수 있으며 string.h 헤더 파일에 선언되어 있다. #include #include int main(void) { char* s1 = "Hello"; char s2[10] = "Hello"; printf("%d\n", strlen(s1)); printf("%d\n", strlen(s2)); return 0; } 문자열의 길이를 구할 때는 순수하게 문자열의 길이만 구하며 NULL 부분은 포함되지 않는다. 41.2 문자열 비교하기 두 문자열이 서로 같은지 비교하려면 strcmp 함수를 사용할 수 있으며 마찬가지로 string.h 헤더 파일에 선언되어 있다. #include #include int main(void) { char* s1 ..

40.5 연습문제: 입력받은 문자열을 배열에 저장하기 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { char s1[10]; printf("문자열을 입력하세요>> "); scanf("%s", s1); printf("%s\n", s1); return 0; } 40.6 연습문제: 입력받은 문자열을 동적 메모리에 저장하기 #define _CRT_SECURE_NO_WARNINGS #include #include int main(void) { char* s1 = malloc(sizeof(char) * 10); printf("문자열을 입력하세요>> "); scanf("%s", s1); printf("%s\n", s1); free(s1); return 0; } ..

40.1 입력 값을 배열 형태의 문자열에 저장하기 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { char s1[10]; printf("문자열을 입력하세요>> "); scanf("%s", s1); printf("\n"); printf("출력>> %s\n", s1); return 0; } 위와 같이 scanf에서 서식 지정자 %s로 문자열을 저장할 때, 입력된 문자열에 공백이 있다면 배열에는 공백 직전까지만 저장된다. 공백까지 포함하여 입력을 받고싶다면? -> 서식 지정자를 "%[^\n]s"와 같이 지정하면 공백까지 포함하여 문자열을 입력받을 수 있다. #define _CRT_SECURE_NO_WARNINGS #include int main(void)..

39.6 연습문제: 문자열 만들기 #include int main(void) { char s1[] = "Beethoven 9th Symphony"; printf("%s\n", s1); return 0; } 39.7 연습문제: 문자열 요소 출력 #include int main(void) { char s1[30] = "Beethoven 9th Symphony"; printf("%c\n", s1[10]); return 0; } 39.8 심사문제: 문자열 만들기 #include int main(void) { char s1[30] = "Beethoven\n9th\nSymphony"; printf("%s\n", s1); return 0; }

INTRO C언어에서 문자 자료형인 char는 있지만 문자열을 저장하는 자료형은 없다. -> char에 문자열을 저장하면 컴파일은 되지만 실행은 ㄴㄴ 39.1 문자와 문자열 포인터 알아보기 그래서 문자열은 어떻게 사용하는가? -> 문자열은 변수에 직접 저장하지 않고 포인터를 이용해서 저장 -> 문자열은 char 포인터 형식으로 사용 #include int main(void) { char c1 = 'a'; // 변수 c1에 문자 'a' 저장 printf("%c\n\n", c1); char* s1 = "Hello"; // 포인터 변수 s1에 문자열 "Hello"의 주소 저장 printf("%p\n", s1); // 포인터 변수 s1이 가지고 있는 주소 = 문자열 "Hello"의 주소 printf("%s\n"..