C언어
-
포인터는 기본적으로 C언의 강력한 무기이다. 포인터는 어떤것들을 가리키는, 즉 특정한 데이터가 저장된 메모리 주소를 저장하는 변수이다. 어떤 데이터의 주소 그 자체를 가리키기 때문에 이것을 응용해 다양한 연산이 가능하다. 프로그램의 어떠한 위치에서 시행되더라도 특정한 주소를 그대로 이용하기 때문에 즉시 값이 변경된다. temp는 포인터 x가 가리키는 위치에 값을 넣어준다. 즉 x라는 포인터가 가리키는 특정한 위치에 있는 값을 가져와서 temp에 넣어주는 것이다. 그다음 x가 가리키는 값을 y가 가리키는 값으로 바꿔주고 y가 가리키는 값에 temp를 넣어주면 완벽히 swap이 이루어진다. 메인함수에 swap함수를 가져와 매개변수로 x와 y의 주소를 입력해주면 x와 y의 값이 바뀐 것을 볼 수 있다. 만약 ..
C 프로그래밍 (13) - 포인터 pointer포인터는 기본적으로 C언의 강력한 무기이다. 포인터는 어떤것들을 가리키는, 즉 특정한 데이터가 저장된 메모리 주소를 저장하는 변수이다. 어떤 데이터의 주소 그 자체를 가리키기 때문에 이것을 응용해 다양한 연산이 가능하다. 프로그램의 어떠한 위치에서 시행되더라도 특정한 주소를 그대로 이용하기 때문에 즉시 값이 변경된다. temp는 포인터 x가 가리키는 위치에 값을 넣어준다. 즉 x라는 포인터가 가리키는 특정한 위치에 있는 값을 가져와서 temp에 넣어주는 것이다. 그다음 x가 가리키는 값을 y가 가리키는 값으로 바꿔주고 y가 가리키는 값에 temp를 넣어주면 완벽히 swap이 이루어진다. 메인함수에 swap함수를 가져와 매개변수로 x와 y의 주소를 입력해주면 x와 y의 값이 바뀐 것을 볼 수 있다. 만약 ..
2020.08.07 -
배열을 이용해 구구단 표도 만들 수 있다. int multiplier[20][20]은 들어갈 원소의 개수이며 다차원 배열의 예시이므로 없어도 출력은 가능하다. 다차원 배열을 통해 학생 5명의 국어, 영어 점수를 계산하는 식을 만들어보자. 행이 5, 열이 2로 총 10개의 데이터가 만들어진다. { 0, )가 의미하는 바는 일차원 배열을 할당할 때 모든 데이터의 값에 0을 넣어주겠다는 읨이다.
C 프로그래밍 (12) - 다차원 배열배열을 이용해 구구단 표도 만들 수 있다. int multiplier[20][20]은 들어갈 원소의 개수이며 다차원 배열의 예시이므로 없어도 출력은 가능하다. 다차원 배열을 통해 학생 5명의 국어, 영어 점수를 계산하는 식을 만들어보자. 행이 5, 열이 2로 총 10개의 데이터가 만들어진다. { 0, )가 의미하는 바는 일차원 배열을 할당할 때 모든 데이터의 값에 0을 넣어주겠다는 읨이다.
2020.08.07 -
배열은 데이터를 담아놓는 상자와도 같다. 상수 5를 지정해주고 array[NUMBER]를 입력해주면 NUMBER의 수치 많큼 배열의 크기를 지정해준다는 의미이다. 즉 i가 0번째부터 4번째까지 5개의 배열 값으로 반복하여 max는 0부터 시작하여 i값이 들어올때 그 값이 0보다 크고 이전 배열보다 크다면 그 값을 max에 입력시키고 순서는 해당 index의 i번째 순서가 된다. 최솟값을 구하는 공식도 위와 같다. max값을 구할때는 기본값으로 0을 주었지만, min값을 구할때는 정수의 최대형인 INT MAX를 넣어 어떻게든 기본값이 바뀌게끔 만드는 것이다. 홀수형의 최댓값과 oddMax, 짝수형의 최댓값 evenMax를 구하는 코드이다.
C 프로그래밍 (11) - 배열 array배열은 데이터를 담아놓는 상자와도 같다. 상수 5를 지정해주고 array[NUMBER]를 입력해주면 NUMBER의 수치 많큼 배열의 크기를 지정해준다는 의미이다. 즉 i가 0번째부터 4번째까지 5개의 배열 값으로 반복하여 max는 0부터 시작하여 i값이 들어올때 그 값이 0보다 크고 이전 배열보다 크다면 그 값을 max에 입력시키고 순서는 해당 index의 i번째 순서가 된다. 최솟값을 구하는 공식도 위와 같다. max값을 구할때는 기본값으로 0을 주었지만, min값을 구할때는 정수의 최대형인 INT MAX를 넣어 어떻게든 기본값이 바뀌게끔 만드는 것이다. 홀수형의 최댓값과 oddMax, 짝수형의 최댓값 evenMax를 구하는 코드이다.
2020.08.06 -
사용자 정의 함수는 기본적으로 반환형, 함수명, 매개변수의 구조로 이루어진다. 함수가 종료될 때 반환형이 int라면 정수형의 반환값을 가진다는 것이다. 예를 들면 위 처럼 minute 혹은 1, 0 이 될 수도 있다. 반환값은 함수를 불러온 값에 반환이 된다. 메인 함수에서 counter 함수를 불러왔을때 그 반환값이 a로 들어가는 형식이다. 하지만 위의 경우 전역 변수가 존재함으로 반환값은 필요없다. 그럴땐 반환형에 void를 입력하면 반환하지 않겠다는 의미이다. 시간을 더해주는 프로그램 코드이다. 각각 시, 분, 더할 분을 입력하고 counter()를 불러옴으로써 계산을 해내는 것이다. 금액을 입력받았을 때 최소로 줄 수 있는 거스름 화폐의 개수를 구하는 코드이다. 예를 들어 11만원을 입력했을 때 ..
C 프로그래밍 (9) - 함수사용자 정의 함수는 기본적으로 반환형, 함수명, 매개변수의 구조로 이루어진다. 함수가 종료될 때 반환형이 int라면 정수형의 반환값을 가진다는 것이다. 예를 들면 위 처럼 minute 혹은 1, 0 이 될 수도 있다. 반환값은 함수를 불러온 값에 반환이 된다. 메인 함수에서 counter 함수를 불러왔을때 그 반환값이 a로 들어가는 형식이다. 하지만 위의 경우 전역 변수가 존재함으로 반환값은 필요없다. 그럴땐 반환형에 void를 입력하면 반환하지 않겠다는 의미이다. 시간을 더해주는 프로그램 코드이다. 각각 시, 분, 더할 분을 입력하고 counter()를 불러옴으로써 계산을 해내는 것이다. 금액을 입력받았을 때 최소로 줄 수 있는 거스름 화폐의 개수를 구하는 코드이다. 예를 들어 11만원을 입력했을 때 ..
2020.08.05 -
scanf("%d". &x); 는 x라는 정수에 사용자가 입력한 값을 받아 삽입하는 의미의 코드이다. 입력받을 자료형에 따라 %d, %f, %c, %lf 등 다양한 문법을 맞게 사용해야 한다. 간단한 계산기를 만드는 코드이다. x와 y값, 그리고 x + y 는 각각 정수형 값으로 출력되며 z값은 char형으로 출력된다. 모든 조건 (5개의 연산자)을 만족않고 종료문구에서 continue를 입력하게 되면 밑의 코드는 모두 무시하고 다시 되돌아가서 작업을 다시 시작하게 된다. break는 즉시 반복을 멈추고 탈출하게 된다. 하지만 출력을 해보면 '종료할까요?' 문구 뒤에 입력하지 않았던 문구들이 출력되는 경우가 발생한다. 이것은 C언어에서 버퍼를 처리해주지 않아서이다. 엔터또한 C에서 문자로 취급하기 때문에..
C 프로그래밍 (8) - 기본 입출력 scanf()scanf("%d". &x); 는 x라는 정수에 사용자가 입력한 값을 받아 삽입하는 의미의 코드이다. 입력받을 자료형에 따라 %d, %f, %c, %lf 등 다양한 문법을 맞게 사용해야 한다. 간단한 계산기를 만드는 코드이다. x와 y값, 그리고 x + y 는 각각 정수형 값으로 출력되며 z값은 char형으로 출력된다. 모든 조건 (5개의 연산자)을 만족않고 종료문구에서 continue를 입력하게 되면 밑의 코드는 모두 무시하고 다시 되돌아가서 작업을 다시 시작하게 된다. break는 즉시 반복을 멈추고 탈출하게 된다. 하지만 출력을 해보면 '종료할까요?' 문구 뒤에 입력하지 않았던 문구들이 출력되는 경우가 발생한다. 이것은 C언어에서 버퍼를 처리해주지 않아서이다. 엔터또한 C에서 문자로 취급하기 때문에..
2020.08.04 -
반복문 while은 주어진 조건을 만족시킬 때 무한정 반복한다. 위에서 x가 1000이하일때까지 계속해서 sum의 값에 1을 더하여 sum값을 정하고 x의 값을 1씩 계속 늘려 1에서 1000까지의 합을 구하는 코드이다. for도 반복문으로 사용된다. for문은 초기화 단계, 조건 단계, 연산 단계로 이루어진다. 이중 for문을 이용해 위와 같이 사각형 형태의 박스를 만들 수 있다. 변수 x와 y를 선언하고 첫 for구문의 반복을 시작한다. 그다음 들어있는 두번째 for구문의 반복을 시작한다. 두번째 for문은 y의 값이 0으로 시작하여 y의 값이 N의 값, 즉 10 이하일때까지 1씩 증가하며 반복한다. 반복함으로써 네모를 출력하는 것이다. 두번째 for문 종료 후 줄바꿈이 실행되고 첫번째 for문이 다..
C 프로그래밍 (7) - 반복문 for / while반복문 while은 주어진 조건을 만족시킬 때 무한정 반복한다. 위에서 x가 1000이하일때까지 계속해서 sum의 값에 1을 더하여 sum값을 정하고 x의 값을 1씩 계속 늘려 1에서 1000까지의 합을 구하는 코드이다. for도 반복문으로 사용된다. for문은 초기화 단계, 조건 단계, 연산 단계로 이루어진다. 이중 for문을 이용해 위와 같이 사각형 형태의 박스를 만들 수 있다. 변수 x와 y를 선언하고 첫 for구문의 반복을 시작한다. 그다음 들어있는 두번째 for구문의 반복을 시작한다. 두번째 for문은 y의 값이 0으로 시작하여 y의 값이 N의 값, 즉 10 이하일때까지 1씩 증가하며 반복한다. 반복함으로써 네모를 출력하는 것이다. 두번째 for문 종료 후 줄바꿈이 실행되고 첫번째 for문이 다..
2020.08.04