array
-
다차원 배열은 하나의 배열을 여러번 만든 배열이다. int a[2][4]; 는 4개 크기의 int형 배열을 2번 만든 것이며 2차원 배열이라 하고 int a[3][3][3]; 는 3개 크기의 int형 배열을 3개를 만들어 그 전체를 3개로 만든것이라고 볼 수 있다. 그림으로 표현하면 위와 같이 나타낼 수 있다. 배열에 들어있는 각각의 값에 접근하기 위해선 위와 같이 표현할 수 있다. 배열의 선언은 위와 같이 입력한다. 편의상 Enter키를 사용해 위와 같이 정렬하여 입력하면 배열을 한눈에 알아볼 수 있다. 만들어진 2차원 배열의 값을 불러올 때는 위와 같이 입력하면 된다. 3차원 배열의 경우 위와 같이 입력할 수 있다. 그 이상의 배열은 차원 수만큼 for반복문을 추가하면 된다.
[ C언어 ] - 다차원 배열의 생성과 선언다차원 배열은 하나의 배열을 여러번 만든 배열이다. int a[2][4]; 는 4개 크기의 int형 배열을 2번 만든 것이며 2차원 배열이라 하고 int a[3][3][3]; 는 3개 크기의 int형 배열을 3개를 만들어 그 전체를 3개로 만든것이라고 볼 수 있다. 그림으로 표현하면 위와 같이 나타낼 수 있다. 배열에 들어있는 각각의 값에 접근하기 위해선 위와 같이 표현할 수 있다. 배열의 선언은 위와 같이 입력한다. 편의상 Enter키를 사용해 위와 같이 정렬하여 입력하면 배열을 한눈에 알아볼 수 있다. 만들어진 2차원 배열의 값을 불러올 때는 위와 같이 입력하면 된다. 3차원 배열의 경우 위와 같이 입력할 수 있다. 그 이상의 배열은 차원 수만큼 for반복문을 추가하면 된다.
2020.09.03 -
일반적으로 어떤 변수를 출력할 때 그것은 해당 변수가 위치한 주소의 값을 출력하는 것이다. 위와 같이 a라는 것은 변수Ko가 가지고 있는 '값' 이며, a가 위치한 주소는 별도의 메모리 주소를 가지고 있는 것이다. 이러한 점에서 Ko == *&Ko 와 같은 뜻이라고 볼 수 있다. array 변수 자체는 array의 시작점 주소를 가지고 있다. 주소값을 출력해보면 Ko, &Ko[0], *&Ko 가 모두 같은 결과를 출력하는 것을 볼 수 있다. 변수 Ko 자체가 시작점 주소를 가지고 있으므로 &Ko[0]와 동일한 의미인 것이다. &와 *가 함께 있으면 서로 교차캔슬되어 *&Ko 와 Ko가 동일한 의미가 된다. 즉 *Ko == Ko[0] 이며 Ko[1]이 되기 위해서는 *(Ko + 1)로 표현 가능하다. st..
[ C언어 ] - 문자열 관련 함수를 직접 구현하기일반적으로 어떤 변수를 출력할 때 그것은 해당 변수가 위치한 주소의 값을 출력하는 것이다. 위와 같이 a라는 것은 변수Ko가 가지고 있는 '값' 이며, a가 위치한 주소는 별도의 메모리 주소를 가지고 있는 것이다. 이러한 점에서 Ko == *&Ko 와 같은 뜻이라고 볼 수 있다. array 변수 자체는 array의 시작점 주소를 가지고 있다. 주소값을 출력해보면 Ko, &Ko[0], *&Ko 가 모두 같은 결과를 출력하는 것을 볼 수 있다. 변수 Ko 자체가 시작점 주소를 가지고 있으므로 &Ko[0]와 동일한 의미인 것이다. &와 *가 함께 있으면 서로 교차캔슬되어 *&Ko 와 Ko가 동일한 의미가 된다. 즉 *Ko == Ko[0] 이며 Ko[1]이 되기 위해서는 *(Ko + 1)로 표현 가능하다. st..
2020.08.23 -
포인터는 C언어가 가지고 있는 매우 강력한 특징이다. 포인터는 어떤 것을 가리키는 변수라고 할 수 있다. 포인터는 *(asterisk)를 붙여 사용할 수 있다. *는 포인터를 선언할 때, 그리고 포인터가 가리키는 주소안의 값에 접근할 때 사용된다. int a = 10; int* p; 포인터의 선언은 위와 같이 사용한다. int형 변수 a를 가리키기 위해 int형 포인터 변수 p를 선언한 것이다. 하지만 포인터 변수p는 현재 어떤 것도 가리키지 않은 상태이다. integer의 크기는 4byte / float의 크기는 4byte / char의 크기는 1byte 이다. x64 프로세서에서 한 개의 처리 단위 메모리 주소의 크기는 8byte이고 변수a는 4byte이므로 위와 같이 차지하는 것을 볼 수 있다. 포..
[ C언어 ] - 포인터포인터는 C언어가 가지고 있는 매우 강력한 특징이다. 포인터는 어떤 것을 가리키는 변수라고 할 수 있다. 포인터는 *(asterisk)를 붙여 사용할 수 있다. *는 포인터를 선언할 때, 그리고 포인터가 가리키는 주소안의 값에 접근할 때 사용된다. int a = 10; int* p; 포인터의 선언은 위와 같이 사용한다. int형 변수 a를 가리키기 위해 int형 포인터 변수 p를 선언한 것이다. 하지만 포인터 변수p는 현재 어떤 것도 가리키지 않은 상태이다. integer의 크기는 4byte / float의 크기는 4byte / char의 크기는 1byte 이다. x64 프로세서에서 한 개의 처리 단위 메모리 주소의 크기는 8byte이고 변수a는 4byte이므로 위와 같이 차지하는 것을 볼 수 있다. 포..
2020.08.21 -
Array는 같은 Datatype을 가진 많은 변수들을 하나의 변수로 저장할 수 있게 해주는 자료 구조이다. 일반적으로 int a[5]; 로 입력하며 대괄호 안에는 변수도 들어갈 수 있으나 컴파일러마다 허용해주는 것이 제각각이기 때문에 정수형 데이터로 사용하는 것이 좋다. sizeof() 함수를 이용해 int a[10]; 의 메모리 크기를 검사해보면 40이 출력된다. 즉 int형 데이터가 4byte이므로 그것의 10개 만큼의 데이터 공간(0번째 index 부터 9번째 index)을 배열로써 만들 수 있는것이다. 만약 20개의 데이터에 값을 순차적으로 한꺼번에 저장하려면 for 반복문을 사용해 위와 같이 설정할 수 있다. 기본 설정값으로 반복문을 이용하지 않고 array에 초기 값을 따로 입력해줘도 위와 ..
[ C언어 ] - 배열 ArrayArray는 같은 Datatype을 가진 많은 변수들을 하나의 변수로 저장할 수 있게 해주는 자료 구조이다. 일반적으로 int a[5]; 로 입력하며 대괄호 안에는 변수도 들어갈 수 있으나 컴파일러마다 허용해주는 것이 제각각이기 때문에 정수형 데이터로 사용하는 것이 좋다. sizeof() 함수를 이용해 int a[10]; 의 메모리 크기를 검사해보면 40이 출력된다. 즉 int형 데이터가 4byte이므로 그것의 10개 만큼의 데이터 공간(0번째 index 부터 9번째 index)을 배열로써 만들 수 있는것이다. 만약 20개의 데이터에 값을 순차적으로 한꺼번에 저장하려면 for 반복문을 사용해 위와 같이 설정할 수 있다. 기본 설정값으로 반복문을 이용하지 않고 array에 초기 값을 따로 입력해줘도 위와 ..
2020.08.19 -
배열을 이용해 구구단 표도 만들 수 있다. 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