개인노트
[C언어]scanf_s 함수를 이용한 배열의 문자열 입력 본문
[ scanf_s 함수를 이용한 배열의 문자열 입력 ]
scanf_s 함수에 배열과 문자열을 사용할 때는 몇가지 다른점이 있다.
1. 변수를 입력할 때와 달리 배열의 문자를 입력할 때에는 배열 이름 앞에 &기호를 붙이지 않는다.
ex) scanf_s("%d", &num); → scanf_s("%s", str);
2. 문자열을 입력할 때에는 입력받을 인수의 크기를 지정해 주어야 한다.
ex) scanf_s("%s", str); [X], scanf_s("%s", str, sizeof(str)); [O]
* scanf_s() 함수의 's' 는 security(보안)을 의미하며, 버퍼오버런, 버퍼오버플로우 등 해킹으로부터 보호하기 위해, 보안 기능이 추가된 함수이며,
scanf_s("%s", buf, sizeof(buf)) 와 같이 입력받을 인수의 크기를 지정해주어야 한다.
(인수의 크기를 지정하지 않으면 오류가 난다.)
문자열.c |
'C > 문법' 카테고리의 다른 글
[C언어] 포인터와 배열의 관계 (0) | 2017.06.29 |
---|---|
[C언어] 포인터란? (0) | 2017.06.28 |
[C언어] 배열의 문자열과 널(NULL) (0) | 2017.06.26 |
[C언어] 배열 선언, 배열 초기화 (0) | 2017.06.23 |
[C언어] 재귀함수 (0) | 2017.05.23 |
Comments