STRLEN 함수란?
배열이나 함수의 길이를 int값으로 반환 시켜주는 함수
** STRLEN함수의 특징 **
1) 문자열 길이를 나타내주는 함수임
2) 변수 뿐만 아니라 배열의 길이도 알 수 있음
3) int형태의 값으로 길이를 반환함
4) STRLEN함수를 사용하려면 #include <string.h>이라는 헤더파일을 선언해야 함
** STRLEN함수 사용방법 **
1) #include <string.h>
(STRLEN함수가 있는 헤더파일 선언)
2) strlen(arr);
(괄호안에 길이를 알고싶은 배열이나 변수입력)
/*
제목: 배열 예제 11-3
날짜: 2024.03.08.금
내용: char형 1차원 배열을 선언과 동시에 "good time"으로 초기화 한 후, 저장된 내용을 출력하기
*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h> // strlen 함수가 선언된 헤더 파일
int main() {
char arr[] = "Good Time";
int len = strlen(arr);
for (int i = 0; i < len; i++) {
printf("%c", arr[i]);
}
return 0;
}
SIZE OF 함수란?
차지하는 메모리 공간의 크기를 'byte' 단위로 바꿔 출력해주는 함수
** SIZE OF 함수의 특징 **
1) 문자열 길이를 나타내주는 함수로 자주 활용됨
2) 문자열 끝에 자동으로 null문자가 삽입되기에 실제 길이보다 길이가 +1 큼
3) 문자열 끝에 자동으로 null문자가 삽입되는 것은 0과1로만 이루어진 2진법에서 어디가 끝이고 어디가 시작인지 구분하기 위함임
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Good Morning!";
printf("배열 str1의 크기: %ld \n", sizeof(str1)); // sizeof는 배열의 전체 크기를 리턴
printf("배열 str1의 문자열 길이 %ld \n", strlen(str1)); // strlen은 문자열의 문자 수를 리턴
printf("문자 포인터 배열 크기 %c \n", str1[13]);
printf("문자 포인터 문자열 길이 %d \n", str1[13]);
return 0;
}
STRCMP 함수란?
String + Compare 를 합친 용어로, 두 문자열의 크기를 아스키코드를 활용하여 비교해주는 함수
** STRCMP함수의 특징 **
1) 두 문자열이 같은지 비교할 때 활용되는 함수임
2) STRCMP함수를 사용하려면 #include <string.h>이라는 헤더파일을 선언해야 함
3) 앞의 변수가 작으면 -1, 같으면0, 크면 1로 -1,0,1로 결과값을 반환
** STRLEN함수 사용방법 **
1) #include <string.h>
(STRLEN함수가 있는 헤더파일 선언)
2) strlen(변수1, 변수2);
(괄호안에 비교하고싶은 변수2개를 입)
** scanf + 배열로 문자열 입력받기 **
/*
제목: 배열 예제 11-5
날짜: 2024.03.08.
내용: scanf를 활용하여 문자열 입력받기
*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main() {
char str[50];
int idx = 0;
printf("문자열을 입력하세요: ");
scanf("%s", str); // 배열의 이름은 scanf 함수를 쓸 때 배열의 주소
printf("\n");
printf("입력받은 문자열: %s\n", str);
printf("입력받은 문자열의 단어 출력: ");
while (str[idx] != '\0') {
printf("%c", str[idx]);
idx++;
}
return 0;
}
** 주의사항 **
1) 배열을 통해 scanf함수 입력을 받을 때는 &를 붙이면 안됨
2) scanf 함수는 데이터를 공백을 기준으로 입력하기 떄문에 문자열을 입력받을 때 he is kind 라는 문자열을 he 까지만 입력받기에 공백까지 입력받는 함수는 따로있음 ( 나중에 배움)
/*
제목: 배열 예제 11-7
날짜: 2024.03.08.
내용: 사용자의 문자열 입력받기 char 배열 사용, null값 조건문과 배열의 문자열 역순으로 출력하기
*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main() {
char EngWord[20];
int i = 0;
printf("영단어를 입력하세요: ");
scanf("%s", EngWord);
printf("입력받은 영단어: %s\n", EngWord);
printf("영단어를 거꾸로 출력: ");
while (EngWord[i] != '\0') { // null값을 만날 때까지 탐색
i++;
}
// 거꾸로 출력 코드
for (int k = i - 1; k >= 0; k--) {
printf("%c", EngWord[k]);
}
return 0;
}
/*
제목: 배열 예제 11-5
날짜: 2024.03.08.
내용: scanf를 활용하여 문자열 입력받기
*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main() {
char str[50];
int idx = 0;
printf("문자열을 입력하세요: ");
scanf("%[^\n]s", str); // 사용자의 입력을 scanf를 사용하여 받음
printf("\n");
printf("입력된 문자열: %s \n", str);
printf("문자열을 문자 단위로 출력: ");
while (str[idx] != '\0') { // null 값이 나올 때까지 문자 출력
printf("%c", str[idx]);
idx++;
}
return 0;
}
'프로그래밍 언어 > C언어' 카테고리의 다른 글
C언어 기초이론 (함수) (0) | 2024.06.13 |
---|---|
C언어 기초이론 (지역변수, 전역변수) (1) | 2024.06.13 |
C언어 기초이론 (재귀함수) (0) | 2024.06.13 |
C언어 기초이론 (배열) (1) | 2024.06.13 |
C언어 기초이론 (포인터 기본이론) (0) | 2024.06.13 |