컴퓨터공학 💻
-
구조체 struct는 기본적으로 아래와 같은 구조로 이루어진다. 새로운 구조체 함수를 만들어 메인함수에서 구조체를 가져와 s라는 이름을 붙여 변수를 만든 것이다. 위와 같이 입력값에 따라 출력되도록 만들수도 있다. %lf는 double형 데이터를 입력받을 때 사용되며 %f는 float형 데이터를 입력받을 때 사용된다. 위는 두 점 사이의 거리를 구하는 코드이다. point 구조체를 생성해주고 메인함수에 각각 xDiff(x점 사이 차이), yDiff(y점 사이 차이)를 넣어주고 점 사이 거리를 double형 데이터 타입으로 넣는다. sqrt는 괄호안 값의 제곱근을 출력해주는 것으로 거리 공식을 대입하면 8이 나오고 제곱근 루트8이 출력된다. 이 글은 프로그래머 나동빈님의 강의 내용을 개인적인 학습을 목적으..
C 프로그래밍 (15) - 구조체 struct구조체 struct는 기본적으로 아래와 같은 구조로 이루어진다. 새로운 구조체 함수를 만들어 메인함수에서 구조체를 가져와 s라는 이름을 붙여 변수를 만든 것이다. 위와 같이 입력값에 따라 출력되도록 만들수도 있다. %lf는 double형 데이터를 입력받을 때 사용되며 %f는 float형 데이터를 입력받을 때 사용된다. 위는 두 점 사이의 거리를 구하는 코드이다. point 구조체를 생성해주고 메인함수에 각각 xDiff(x점 사이 차이), yDiff(y점 사이 차이)를 넣어주고 점 사이 거리를 double형 데이터 타입으로 넣는다. sqrt는 괄호안 값의 제곱근을 출력해주는 것으로 거리 공식을 대입하면 8이 나오고 제곱근 루트8이 출력된다. 이 글은 프로그래머 나동빈님의 강의 내용을 개인적인 학습을 목적으..
2020.08.08 -
문자열은 C에서 다양한 문자표현을 나타내기 위해 사용한다. 내부적으로 문자열은 char자료타입의 배열로 이루어져있으며 이것은 포인터와 같다고 할 수 있다. 영문같은 경우 알파벳 1개당 1byte의 크기를 가지며 한글같은 경우 글자 1개당 2byte의 크기를 가진다. 이것은 array의 크기가 10개의 문자가 들어갈 수 있는 공간이라고 했을때 영문은 10자, 한글은 5자 들어갈 수 있다. 배열은 선언 후 배열 몇번쨰의 값의 메모리 주소 자체가 배열 자체가 된다. 이런 의미에서 배열은 포인터라고 할 수 있다. array[1]에서 5의 값이 들어있다면 &array[1]은 해당 값이 들어있는 곳의 주소를 말한다. = 포인터 1001 개 만큼의 문자가 들어갈 수 있는 하나의 문자열 input변수를 만든다. get..
C 프로그래밍 (14) - 문자열 함수 string문자열은 C에서 다양한 문자표현을 나타내기 위해 사용한다. 내부적으로 문자열은 char자료타입의 배열로 이루어져있으며 이것은 포인터와 같다고 할 수 있다. 영문같은 경우 알파벳 1개당 1byte의 크기를 가지며 한글같은 경우 글자 1개당 2byte의 크기를 가진다. 이것은 array의 크기가 10개의 문자가 들어갈 수 있는 공간이라고 했을때 영문은 10자, 한글은 5자 들어갈 수 있다. 배열은 선언 후 배열 몇번쨰의 값의 메모리 주소 자체가 배열 자체가 된다. 이런 의미에서 배열은 포인터라고 할 수 있다. array[1]에서 5의 값이 들어있다면 &array[1]은 해당 값이 들어있는 곳의 주소를 말한다. = 포인터 1001 개 만큼의 문자가 들어갈 수 있는 하나의 문자열 input변수를 만든다. get..
2020.08.08 -
포인터는 기본적으로 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 -
숫자피라미드를 만드는 코드이다. 반복함수는 오직 for, while 문으로만 구성이 가능하다. a에 10을 입력하면 i는 총 10번을 반복을 할것이다. 두번째 for문은 현재 i가 0이기 때문에 1을 한번 출력할 것이고 첫번째 for문의 2회차에서 i는 1이되며 두번째 for문이 2회차에서 j는 0일때 1을 출력, 1일때 2를 출력, 이런 식으로 피라미드가 완성된다. 재귀함수를 이용해 문자열을 n번 출력하는 코드이다. 재귀함수란 자신의 함수 안에 또 자신의 함수를 사용하는 것이다. count에 10을 넣어 실행하면 else가 실행되며 print에 9가 들어가게 된다. 총 0까지 반복적으로 문자열을 출력한다. 재귀 함수를 이용해 조합을 구현할 수도 있다. 예를 들어 10과 5라는 값을 입력하면 10C5가 ..
C 프로그래밍 (10) - 반복 함수, 재귀 함수숫자피라미드를 만드는 코드이다. 반복함수는 오직 for, while 문으로만 구성이 가능하다. a에 10을 입력하면 i는 총 10번을 반복을 할것이다. 두번째 for문은 현재 i가 0이기 때문에 1을 한번 출력할 것이고 첫번째 for문의 2회차에서 i는 1이되며 두번째 for문이 2회차에서 j는 0일때 1을 출력, 1일때 2를 출력, 이런 식으로 피라미드가 완성된다. 재귀함수를 이용해 문자열을 n번 출력하는 코드이다. 재귀함수란 자신의 함수 안에 또 자신의 함수를 사용하는 것이다. count에 10을 넣어 실행하면 else가 실행되며 print에 9가 들어가게 된다. 총 0까지 반복적으로 문자열을 출력한다. 재귀 함수를 이용해 조합을 구현할 수도 있다. 예를 들어 10과 5라는 값을 입력하면 10C5가 ..
2020.08.05