전체 글 36

C언어 기초이론 (함수)

함수란?​​function이란 뜻으로 특정 기능을 수행하는 코드들의 집합​​**함수를 만드는 이유**​1) 하나의 main함수에서 모든 것을 관리하지않고 기능별로 세분화하는것이 코드가 복잡해지는 것을 막고 효율적인 유지 및 보수를 가능하게 하기 때문임​2) 반복적인 프로그래밍을 피할 수 있게 해주기 때문임 (코드의 재사용성을 높임)​3) 기능별로 함수를 선언해놓으면 가독성이 좋아짐​4) 절차지향적인 코딩을 객체 지향적인 코딩으로 바꿔줌​​​​​​**함수의 형태**​​ int main (int num1) {( 1.반환형태 ) ( 2.함수이름 ) ( 3.입력형태 ) ​(함수의 몸체)  (4.return result;)​}​​​1) 반환형 : 마지막 값을 반환시킬 때의 출력형태​2) 함수의 이름 : 함수를 호..

C언어 기초이론 (지역변수, 전역변수)

지역변수(Local Variable)란?​Local Variable라는 뜻으로 선언된 함수내에서만 선언되는 변수이다.​​** 지역 변수의 특징 **​1) 함수내에 선언된 변수라고 생각하면 편함​2) 선언된 지역내에서만 유효하기때문에 지역만 다르다면 이름이 같아도 문제되지 않음​3) 지역변수는 함수에서 변수가 선언될 때 메모리 공간에 할당되며, 함수가 종료되면 메모리 공간이 소멸되는 구조임​4) 지역변수는 반복문이나 조건문에서도 선언이 가능함 (반복문에서는 계속해서 생성과 소멸이 반복됨)​5) 지역변수는 외부에 동일한 이름의 변수가 있을 시 코드에서 가리고 인식됨​6) 지역변수는 선언된 함수내에서만 존재하는 공간이기때문에 해당 지역(함수)를 벗어나게 되면 자동으로 소멸됨 /*제목: 함수 예제 9-6날짜: ..

C언어 기초이론 (재귀함수)

재귀함수란?​자기 자신을 다시 호출하는 함수​​** 재귀 함수의 특징 **​1) 반복문+조건문의 형태로 자주 쓰이고, 특정 조건이 될 때까지 자기자신을 반복하여 호출하다가 원하는 조건에 성립하면 재귀함수호출을 멈추는 로직으로 많이 쓰임​2) 함수를 실행하는 도중 해당함수를 다시 호출할 경우 복사본을 더 만들어서 복사본을 실행하는 원리로 작동함​(아직 완성되지 않은 함수인 자신을 불러들이는 것이 가능한 이유)​3) 탈출조건을 세팅해줘야함 (그렇지 않으면 계속해서 자기자신을 호출하기 때문임)​4) 어려운 자료구조나 알고리즘 문제를 단순화하는데 사용되는 중요한 기술임​(재귀함수는 자료구조와 알고리즘을 공부하기 전에 이해해두면 많은 도움이 된다고 함) /*제목: 함수 예제 9-7날짜: 2024.02.27.내용:..

C언어 기초이론 (배열)

배열(Arrangement)이란?​Arrangement라는 뜻으로 번호와 번호에 대응되는 데이터들로 이루어진 자료구조​​** 배열(Arrangement)의 특징 **​1) 간단히 말해 둘 이상의 변수를 모아 놓은 것​2) 다수의 데이터들을 저장하고 처리하는 경우에 유용함​3) 반복해서 변수를 선언해야 하는 경우에도 유용함​4) 1차원이 기본이지만 다차원 배열도 존재​5) 선언과 동시에 초기화가 가능함​6) 인덱스 값은 1이 아닌 0부터 시작함​7) 값 입력시 {}(중괄호)를 활용​8) 같은 타입들로 주소들이 연속적으로 구성되어 있음​9) 배열을 다룰 때 길이를 초과하는 인덱스로 접근 시 에러를 잡아내주지 못하기에 조심해야함 /*제목: 배열 연습 11-1날짜: 2024.03.12.내용: 배열의 기초적인 사..

C언어 기초이론 (문자열관련 함수)

STRLEN 함수란?​배열이나 함수의 길이를 int값으로 반환 시켜주는 함수​​** STRLEN함수의 특징 **​1) 문자열 길이를 나타내주는 함수임​2) 변수 뿐만 아니라 배열의 길이도 알 수 있음​3) int형태의 값으로 길이를 반환함​4) STRLEN함수를 사용하려면 #include 이라는 헤더파일을 선언해야 함​​​​** STRLEN함수 사용방법 **​1) #include (STRLEN함수가 있는 헤더파일 선언)​2) strlen(arr);(괄호안에 길이를 알고싶은 배열이나 변수입력)​​ /*제목: 배열 예제 11-3날짜: 2024.03.08.금내용: char형 1차원 배열을 선언과 동시에 "good time"으로 초기화 한 후, 저장된 내용을 출력하기*/#define _CRT_SECURE_NO_..

C언어 기초이론 (포인터 기본이론)

포인터란?​type이 곧 주소인 변수 (저장하기로 한 값을 주소로 해석)​​​-포인터를 통해 내부 주소들을 엿볼 수 있기에 포인터를 직접 코딩하는게 프로그램 뒷단의 주소들의 구조를 간접적으로 파악하는데 도움됨​-포인터를 여러번 중첩하여 주소들을 여러 걔 연결시키는 것도 가능함​​(+ 포인터에 쓰이는 * 표시는 *뒤에 있는 값을 주소로 생각해서 가봐라 라는 뜻임)​​​​​** 포인터 작동 원리 **​  CPU (처리) memory (저장)|---------------------| (address) |---------------------| | | | | | ALU | (data) | | | IP | | | | Register | (control) | | | | | | |---..