▲같이 공부하면 도움되는 단원들
C언어의 char은 단순히 문자 1개만을 저장할 수 있다. 따라서 문자가 여러개인 문자열을 저장하기위해선 여러가지 방법이 있는데 1.배열 2.포인터 가 그것이다. 이 두가지 방법은 위의 단원에 설명해두었으니 설명을 생략하겠다.
문자열을 입력하는 방식도 1.배열 2.포인터 두 가지이다. 이 글에서는 1.배열을 활용한 방법을 설명하겠다.
입력값을 배열형태의 문자열에 저장하기
●사용법
scanf 함수에서 %s를 활용하여 입력 값을 배열형태의 문자열에 저장할 수 있다.
●배열형태의 문자열에 저장하기 코드예제
#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고로 인한 컴파일 에러 방지(이해안되면넘어갈것)
#include <stdio.h>
int main()
{
char s1[9]; // 크기가 9인 char형 배열을 선언
printf("문자열을 입력하세요: ");
scanf("%s", s1); // 표준 입력을 받아서 배열 형태의 문자열에 저장(배열자체는 주소를 담고 있으므로 &사용x)
printf("%s\n", s1); // 문자열의 내용을 출력
return 0;
}
코드해석
char s1[9]; // 크기가 9인 char형 배열을 선언
이런 9개의 칸의 배열을 만들어주는 것이다. 배열의 이름은 s1이고 배열이므로 주소도 이미 있을 것이다.(따라서 &사용x)
예전에 배열을 선언하고 문자열을 할당해주면 안된다고 한 것과 달리, scanf로 할 때는 따로따로 가능
●안되던 예제 코드
#include <stdio.h>
int main()
{
char s1[9]; // 크기가 9인 char형 배열 선언
s1 = "Hi"; // 이미 선언된 배열에 문자열을 할당하면 컴파일 에러 발생
printf("%s\n", s1); // Hi: %s로 문자열 출력
return 0;
'프로그래밍 언어 > C' 카테고리의 다른 글
C언어 25강) 문자열 길이 구하기 strlen함수 (0) | 2020.11.14 |
---|---|
C언어 24강) 문자열 포인터에 입력하기 (0) | 2020.11.13 |
C언어 22강) 동적메모리할당과 포인터변수를 통한 배열 (2) | 2020.11.12 |
C언어 21강) malloc함수로 메모리 사용하기 (0) | 2020.11.07 |
C언어 20강)+이중포인터 (0) | 2020.11.07 |