목록전체 글 (158)
Nagie's DevStory
배열의 초기화 방법은 3가지가 있다. 첫째는 아래의 코드처럼 배열 선언과 동시에 초기화하는 방법이다. //배열 선언과 동시 초기화 int MyArr[3] = {1,2,3}; int MyArr[] = {1,2,3}; int MyArr[3] = {0,}; 배열 선언과 동시에 초기화하게 되면 배열의 인덱스를 따로 기재하지 않아도 중괄호 안에 입력한 요소의 개수만큼 컴파일러가 배열의 인덱스를 지정해 넣어준다. 또한 전부 같은 값으로 초기화 하고 싶다면 중괄호 안에 요소를 하나만 넣고 콤마를 찍어주면 된다. 둘째는 배열의 인덱스를 이용해 직접 값을 넣어주는 방법이 있다. //배열 인덱스 사용 int MyArr[3]; MyArr[0] = 1; MyArr[1] = 2; MyArr[2] = 3; 가장 직관적인 방법이긴..

배열은 데이터형과 변수명이 같은 변수의 집합을 말한다. //여러개의 변수 선언 int MyVariable1 = 0; int MyVariable2 = 0; int MyVariable3 = 0; int MyVariable4 = 0; int MyVariable5 = 0; //배열 선언 int MyArr[5] = {0,}; 위의 코드는 같은 데이터형을 가진 변수 5개를 배열로 선언한 예시이다. 같은 데이터형을 쓰는 변수가 여러 개가 필요하다면 첫 예시의 코드보단 두 번째 예시의 코드처럼 배열로 선언하는 게 효율이 좋다. 다만 같은 자료형의 변수를 여러 개 사용한다고 해서 무조건 배열로 선언하는 것은 좋은 생각이 아니며 필요에 따라 유연하게 사용하는 것이 올바르다. 배열의 인덱스 범위는 0에서부터 시작하며 최대 ..
srand(); 와 rand(); 는 C에서 난수 생성을 위해 사용된다. srand(); 는 난수의 시드를 초기화하고 rand(); 는 srand(); 에 의해 생성된 시드를 기반으로 난수를 생성한다. 사용 예시는 아래와 같다. #include #include int main() { // 현재 시간을 기반으로 시드(seed)를 설정 srand(time(NULL)); // rand를 사용해 난수 생성 int rNum = rand(); } 보편적으로 시간을 기준으로 시드를 생성하는데 이유는 그냥 사용하게 되면 똑같은 값만 계속 나오기 때문이다. 그리고 난수를 일정 범위 내의값으로 제한해 생성하고 싶다면 % 연산자를 사용해 적절한 범위로 만들 수 있다. 예를 들어 0 ~ 9 사이의 정수를 생성하고 싶다면 아래..
프로그래밍에서의 함수는 수학의 함수와 비슷한 개념을 가지고 있지만 목적과 구현 방식에서의 차이가 있다. 주로 작업을 수행하고 모듈화하기 위해 사용되며 수학의 함수와는 다르게 다양한 입력과 출력을 처리하고 부수 효과를 가진다. 목적을 비교하자면 수학에서의 함수는 입력값을 받아 출력값을 무조건 반환하는 대에 비해 프로그래밍에서의 함수는 그냥 일종의 기능을 이루는 코드 덩어리다 거기다 입력이 있다고 무조건 반환하지도 않는다. 그리고 프로그래밍에서의 함수는 함수가 외부의 변수를 변경한다거나 하는 일종의 관여가 가능하며 외부 상태에 영향을 미친다. 수학에서의 함수는 그런 게 없다. 즉 외부 상태에 영향을 미치지 않는다는 것이다. 이것 외에도 다형성과 같은 차이점이 더 존재하지만 둘 다 입력값을 기준으로 어떤 결과..