구조체^^
강남맨
#include stdio.h
#include string.h
typedef struct{
char name[30];
int age;
char score[8];
} Student;
void main(void)
{
Student s;
printf(이름 : );
scanf_s(%s, s.name, sizeof(s.name));
printf(나이 : );
scanf_s(%d, &s.age);
printf(성적 : );
scanf_s(%s, s.score, sizeof(s.score));
printf(이름 : %s, 나이 : %d, 성적 : %s\n, s.name, s.age, s.score);
}
이와 같은 프로그램에서 scanf_s이 함수에 왜 s.name만 쓰는게 아니고 sizeof와 함께쓰는 거죵 ? 안하면 오류가 뜨더라구요..
scanf_s==scanf로 비주얼 2005를 써서 쓴것입니다.
-
로지
고야케 // 질문 게시판에 질문해 주세요.
-
알
호오 몰랐던 사실인데..ㅎㅎ 기억해둬야겠네요
-
마음새
와핫 감사해용 ㅜㅜ 책에도 없더라구용 ㅜㅜ 내가 못찾앗나 ?ㅋㅋㅋ ㅜㅜ 여튼 감사들여용 ㅋㅋ
-
희미햬
기존의 scanf()함수는 함수 자체적으로 버퍼라는 공간을 가지고 있으면서 입력되는 데이터를 버퍼에 저장하였다가 해당 변수의 주소로 데이터를 넘기는 형식을 취했습니다.
그런데 사용자 입력이 버퍼의 크기보다 커질 경우에는 버퍼 오버 플로우라고 하여 오류가 발생하게 됩니다. 버퍼 오버 플로우가 심하게 되면 시스템이 무력화될 수도 있습니다.
그래서 요즈음의 비주얼 스튜디오는 scanf()나 strcpy() 등의 함수 대신에 _s가 붙은 함수를 쓰도록 권유하고
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2704497 | int double char 같은것좀 좀만 더 가르쳐 주세요 (6) | 로지 | 2025-08-10 |
2704473 | 구조체 배열 초기화 질문 | 꽃은별 | 2025-08-10 |
2704445 | 배열과 조건문에 관한질문 (3) | 찬솔큰 | 2025-08-10 |
2704417 | 이진 트리 깊이 값 구하는것 질문입니다. | 푸른잎 | 2025-08-10 |
2704391 | 자료 유형에 관련된 문제입니다. (2) | 늘솜 | 2025-08-09 |
2704365 | c언어 문제안되서물어봅니다 (3) | 맑은가람 | 2025-08-09 |
2704338 | 다항식의 뺄셈에 대해 질문드립니다... (1) | 여자 | 2025-08-09 |
2704311 | 센서를 이용한 라인 주행인데 명령어좀 알려주세요 ㅠ_ㅠ (3) | 초록이 | 2025-08-09 |
2704284 | 배열for문;; (3) | 은솜 | 2025-08-08 |
2704255 | readline(int fd, char *buf, int nbytes)함수를 구현하는법좀..ㅠㅠ | 파라나 | 2025-08-08 |
2704196 | 간단한 c언어좀 만들어주세요 (2) | 슬S2아 | 2025-08-08 |
2704118 | 성적에서 등수 구하기 (4) | 딥레드 | 2025-08-07 |
2704062 | 알고리즘 알려주세요 | 나리 | 2025-08-06 |
2704035 | 답은 나오는데 과정에서 `` 약간 이상합니다.ㅎㅎ 답만나와버려요 | 핫블랙 | 2025-08-06 |
2703979 | 문자열 EEPROM 작성 방법 문의드립니다. | 그녀는귀여웠다 | 2025-08-06 |
2703954 | 키보드를 입력하면 캐릭터를 움직이기 질문 (7) | 좋아해 | 2025-08-05 |
2703924 | 계속 에러가... (4) | 눈꽃 | 2025-08-05 |
2703897 | 배열의 최댓값과 최솟값 차이 구하기 (1) | 하늬 | 2025-08-05 |
2703869 | C언어 질문입니다 급해용!!! ㅠㅠ (2) | 덕이 | 2025-08-05 |
2703814 | C로 프로그램을 만들때 도스창 말고 다르게 만드는방법이 있을까요? (2) | 소심한여자 | 2025-08-04 |