본문 바로가기
728x90

코딩/C언어10

C언어 배열(array) 목차1. C언어 배열2. 배열 선언3. 1차원 배열4. 2차원 배열 1. C언어 배열- C언어에서 배열은 동일한 데이터 타입의 변수들을 연속적으로 저장할 수 있는 데이터 구조입니다.- 배열은 인덱스를 사용하여 각 요소에 접근할 수 있으며, 인덱스는 0부터 시작합니다.- 배열은 다양한 프로그래밍 작업에 활용되고, 특히 반복적인 작업을 수행할 때 유용합니다. 2. 배열 선언배열의 형식은 다음과 같습니다.자료형 변수명[개수];자료형 : 배열에 저장할 자료의 형을 지정합니다.변수명 : 사용할 배열의 이름입니다.개수 : 배열의 크기를 지정하는 것입니다. ex) "int" 형 요소 5개로 이루어진 배열은 다음과 같이 선언할 수 있습니다.요소 : 배열 안에 포함된 각각의 데이터 값을 가리킵니다. 배열의 인덱스는 0부.. 2024. 5. 6.
C언어 fgets 함수 fgets 함수는 파일에서 문자열을 읽어들이는 함수입니다. 파일 포인터, 읽어들일 문자열 버퍼, 그리고 최대 읽을 문자 수를 인자로 받습니다. 문자열을 읽어들일 때 개행문자 ('\n') 까지 포함하여 읽어들이며, 지정된 최대 문자수에 도달하면 읽기를 중지합니다.  목차1. fgets 함수의 구조2. fgets 함수의 특징3. fgets 함수 사용 예시4. fgets 함수의 보안성 1. fgets 함수의 구조char *fgets (char *str, int num, FILE *stream);"str" : 읽은 문자열을 저장할 버퍼의 포인터입니다."num" : 읽을 최대 문자 수입니다."stream" : 입력 스트림을 가리키는 파일 포인터입니다.fgets 함수는 다음과 같이 동작합니다1. stream에서 최.. 2024. 5. 4.
C언어에서의 포맷 스트링 (Format String) 취약점 "printf"와 같은 함수를 사용할 때 주의해야 할 보안 취약점 중 하나가 포맷 문자열 취약점이다.이 취약점은 프로그램이 사용자 입력을 적절히 검증하지 않고 포맷 문자열 함수(printf, fprintf 등)에 전달할 때 발생하는 보안 문제입니다. 이러한 상황에서는 사용자가 의도하지 않은 형식 지정자를 입력하여 프로그램이 비정상적으로 동작하거나 보안 문제가 발생할 수 있다. C언어에서의 포맷 스트링 (Format String) 취약점아래의 코드를 살펴봅시다.#include int main(){ char buf[100]; printf("이름: "); scanf("%s", buf); printf(buf); // 여기서 취약점이 발생. return 0;}"printf" 함수는 포맷 문자열을 사용하여 입력된.. 2024. 4. 30.
#7 C언어 main 함수 C언어에서 int main() 은 프로그램의 시작점을 나타내는 함수 입니다. 이 함수는 C프로그램이 실행될 때 가장 먼저 호출되며, 프로그램의 실행 흐름을 지시합니다. main 함수 기본 형태 int main() { // 프로그램 실행 내용 return 0; } int : 함수의 반환 타입을 나타냅니다. 프로그램의 실행이 정상적으로 완료되었을 때는 보통 0을 반환하므로 "int" 타입입니다. main : 함수의 이름입니다. C 프로그램에서는 프로그램의 시작점을 나타내는 함수의 이름으로 관례적으로 "main"을 사용합니다. () : 함수의 매개변수(parameter)를 나타냅니다. "main" 함수는 일반적으로 매개변수를 받지 않는 경우가 많으므로 비워둡니다. 그러나 명시적으로 "void"를 넣어주어도 됩.. 2024. 4. 20.
728x90