본문 바로가기

BackEnd/C

2차원 배열의 이해와 적용 1. 2차원 배열의 선언 2행 3열을 세로길이 2, 가로길이 3으로 나타낸다. 2. 2차원 배열의 접근 접근 위치는 [0][0]부터 시작한다. 3. 2차원 배열의 메모리 구성 2차원 배열도 메모리 공간에서는 논리적으로 1차원 구조를 갖는다. 위 그림처럼 선언의 방식은 1차,2차원 배열이 서로 다르지만, 메모리상에서 할당된 형태는 1차원의 형태로 완전히 동일하다. 다만 선언의 형태에 따라서 접근하는 방법에 차이가 있다. 4. 2차원 배열의 초기화 1) 하나의 중괄호 안에 초기화 리스트를 구성 중괄호를 하나만 사용하면 순서대로 값이 채워진다. 만약에 배열 요소의 개수보다 초기화 리스트의 개수가 적다면, 나머지 부분은 0으로 채운다. 2) 행 단위 초기화 방식 중괄호 안에 다시 중괄호를 사용해서 행 단위로 초..
배열을 이용한 문자열의 표현 문자열은 상수와 변수 형태로 표현이 가능하다. 그런데 변수 형태의 문자열은 배열을 기반으로 해서 선언한다. 이번에는 배열을 이용해서 변수 형태의 문자열을 어떻게 선언하는지 핵심적으로 봐볼건데 그전에 앞서 먼저 상수에 대해 다시 봐보자. 1. 상수의 공통적 특징? 특징은 메모리 공간에 자동으로 할당이 이루어 진다는 것이다. C언어에서의 상수는 다음과 같이 총4가지로 구분된다. 예를 들어 int n = 10 + 20; 이라는 문장이 있을때, 변수 n을 위해서도 메모리 공간의 할당이 이뤄지지만, 상수 10과 20을 위해서도 할당이 이뤄진다. 이는 문자열 상수 및 나머지 모두 마찬가지이다. 2. printf 함수 호출 문의 문자열 상수 printf 함수에 표현되는 문자열(문자열 상수)도 메모리 공간에 할당된다...
1차원 배열의 이해와 활용 1. 1차원 배열의 이해와 활용 1) 배열의 선언 배열은 둘 이상의 변수를 한번에 선언하는 것으로 총 3가지가 필요하다. - 배열의 이름 - 배열 요소(배열을 구성하는 변수)의 자료형 - 배열의 길이 이렇게 배열이 선언되면 총 7개의 int형 변수를 얻게 된다. 2) 선언된 배열의 접근 이렇게 얻은 변수들에 접근하는 방법을 살펴보자. array[0] = 10; //첫 번째 배열 요소에 10저장. array[1] = 20; //두 번째 배열 요소에 20저장. 즉 다음 그림처럼 배열 요소에 접근할 수 있게 된다. 위 그림에서 보여주듯이 접근하고자 하는 배열의 위치 정보는 [ ] 사이에 숫자를 넣어 지정한다. 단 [ ] 사이에 들어가는 숫자(인덱스)는 0부터 시작된다. 결국 [ ] 안에 변수가 올 수 있는것이..
비트 마스크 1. 비트 마스크란? 비트의 열에다가 씌울 수 있는 마스크라는 의미로 볼 수 있는데, 비트 마스크를 활용하여 비트 열의 특정부분을 뽑아 내거나 변경 시킬 수 있다. 2. 비트 열의 일부 추출 3행은 마스크를 씌울 대상이다. 5~8행은 비스마스크이다. 이처럼 마스크라는 것도 비트의 열이다. 10~13행에서 비트의 열들을 4비트씩 뽑아 내었다. 12345678910111213141516int main(void){ unsigned short data=0x5678; /* 0101 0110 0111 1000 */ unsigned short msk1=0xf000; /* 1111 0000 0000 0000 */ unsigned short msk2=0x0f00; /* 0000 1111 0000 0000 */ unsig..
비트 쉬프트(Shift) 연산자 1. 비트 쉬프트 연산자란? 비트 연산자의 부류에 속하는 비트 쉬프트 연산자가 있다. 이 연산자들은 정수 데이터의 비트 열을 왼쪽, 오른쪽으로 이동시키는 연산자이다. 2. 4; /* ???? */ printf("result1= %d \n", r1); printf("result2= %d \n", r2); printf("result3= %d \n", r3); printf("result4= %d \n", r4); return 0;}Colored by Color Scriptercs 내가 사용하는 환경에서의 결과값이다. 1234result1= -8result2= -4result3= -2result4= -1cs
비트연산자 1. 비트연산자의 이해 비트 연산자의 대부분이 이항 연산자이며, 피연산자는 반드시 정수이어야 한다. 비트 연산자는 비트단위로 연산을 진행하는 연산자이며, 연산의 결과를 묶어서 하나의 연산결과를 반환한다. 2. 비트연산자들의 종류와 기능 1) & 연산자 : 비트단위 AND 연산자 두개의 비트가 모두 1인 경우에만 1을 반환하여 연산결과를 구성한다. 12345678910111213int main(void){ int n1=15; /* 00000000 00000000 00000000 00001111 */ int n2=20; /* 00000000 00000000 00000000 00010100 */ int result=n1&n2; /* 00000000 00000000 00000000 00000100 */ prin..
. .
. .