C언어 ⑨

정혜지·2023년 4월 14일
0

문자열

문자열은 char 자료 타입의 배열로 이루어져 있으며
배열은 내부적으로 포인터와 동일한 구조라고 볼 수 있다.

배열

상수형 포인터



하나의 문자열 안에 글자수 세기

#include <stdio.h>

int main()
{
  char input[1001];
  gets(input);
  // gets 함수를 사용하여 사용자가 앤터를 누를때마다 
  // input이라는 배열 안에 삽입된다.
  // 입력 이후 남은 공간에는 자동으로 null 값이 들어감
  
  int count = 0;
  
  // HELLO
  // input[5]부터는 null
  while(input[count] != '\0') {
  // input배열의 count번째 아이템이 null이 아니라면
     count ++;
  }
  printf("입력한 문자열의 길이는 %d입니다.\n", count);
  printf("입력한 문자열 : %s입니다.\n", input);
  return 0;
}



strlen()

#include <stdio.h>
#include <string.h>

int main()
{
  char input[5] = "Love";
  printf("문자열의 길이 : %d\n", strlen(input));
  return 0;
}



strcmp()
문자열 비교함수

#include <stdio.h>
#include <string.h>

int main()
{
  char inputOne[5] = "A":
  char inputTwo[5] = "B";
  printf("문자열 비교 : %d\n", strcmp(inputOne, inputTwo));
}
// -1

두 문자가 사전적으로 동일하면 0
왼쪽의 문자열이 사전적으로 더 앞에 있다면 -1
오른쪽의 문자열이 사전적으로 더 앞에 있다면 1



strcpy
문자열 복제 함수

#include <stdio.h>
#include <string.h>

int main()
{
  char input[10] = "I Love You";
  char result[5] = "Love";
  strcpy(result, input);
  printf("문자열 복사 : %s\n", result);
  return 0;
}

profile
오히려 좋아

0개의 댓글