C언어

C에서는 어느 변수로 연산을 하고 연산을 한 변수에 그 값을 대입할 수 있도록 하는 대입 연산자가 있습니다. 대입 연산자를 이용하면 대입은 물론 연산까지 한번의 연산자 입력으로도 가능해집니다. 아래 표를 정리해두었습니다. 대입연산자 표 *여기에서의 A는 10으로 가정합니다. 연산자 연산방향 예 설명 = ← A = 3; A에 3을 대입하겠다.(A 결과 : 3) += ← A += 2; A에 2를 더한 값을 대입하겠다.(A 결과 : 12) -= ← A -= 3; A에 3을 뺀 값을 대입하겠다.(A 결과 : 7) *= ← A *= 4; A에 4를 곱한 값을 대입하겠다.(A 결과 : 40) /= ← A /= 2; A를 2로 나눈 몫을 대입하겠다.(A 결과 : 5) %= ← A %= 7 A를 7로 나눈 나머지를 대..
버퍼 오버플로우(Buffer Overflow) 시스템 공격의 대표적 방법중 하나로 메모리에 할당된 공간보다 더 큰 데이터를 입력하여 데이터가 메모리 공간을 벗어나게 되는 취약점이다. C 또는 C++을 사용해 프로그램을 개발할 때 메모리 공간을 제한하지 않는 함수(API)를 사용하여 발생하는 취약점이다. 취약한 함수는 다음과 같다. strcpy, strcat, gets, fscanf, scanf, sprintf, sscanf, vfscanf, vsprintf, vscanf, vsscanf, streadd, strecpy, strtrns 스택 버퍼 오버플로우 공격(Stack Buffer Overflow Attack) 스택에는 지역변수, 인자(argument), 함수 리턴 주소(RET 값)이 저장되어 있는데 ..
C언어에서는 연산이 매우 매우 중요하다고 할 수 있는데요. 예를 들어 1 부터 100까지 차례대로 적어주는 프로그램을 만든다고 가정하면, 반복도 중요하지만 숫자를 하나 하나 증가시켜주는 연산이 필요할것입니다. 이것을 도와주는것이 바로 '산술연산자' 입니다. 그 중에서도 오늘 배울것은 사칙연산과 같은 산술 연산을 배워볼것입니다. 실제로 변수를 가지고 직접 연산자를 이용한 연산을 해보셔야 체감하실 수 있습니다. 후에 나오는 연습 예제를 이용해 문제를 한번 풀어보세요! 100번 보는것보다 2~3번 코딩해 실행결과를 보는 것이 더 좋습니다 :D 그럼 산술연산자를 간단히 정리한 표를 봅시다. 산술연산자 표 연산자 연산방향 예 설명 + → A + B A와 B를 더합니다. - → A - B A에서 B를 뺍니다. * ..
main 함수C 프로그램의 가장 핵심이 되는 함수입니다. 메인 함수의 호출은 프로그램의 시작을 의미하고 메인 함수의 끝은 프로그램의 종료를 의미합니다. 일반적인 함수들의 호출은 사용자에 의해 이루어지지만, main 함수는 운영체제에 의해 이루어집니다. main 함수의 구조입니다. int main( ) { } Header 헤더의 확장자는 .h 로 되어있습니다. 헤더에는 이미 함수의 선언이 되어있기때문에 사용자는 헤더를 포함(include)하면 함수를 호출 할 수 있습니다. [ ex ) printf ] ex ) #include printf, scanf를 사용하기 위해 stdio.h 헤더를 포함한다. 주석주석은 프로그래밍을 할 때에 구분을 편하게 하거나, 설명 등을 추가하기 위해 사용되는것입니다. 다른 사람이..
문찬웅_
'C언어' 태그의 글 목록