본문 바로가기

BackEnd

배열을 이용한 문자열의 표현 문자열은 상수와 변수 형태로 표현이 가능하다. 그런데 변수 형태의 문자열은 배열을 기반으로 해서 선언한다. 이번에는 배열을 이용해서 변수 형태의 문자열을 어떻게 선언하는지 핵심적으로 봐볼건데 그전에 앞서 먼저 상수에 대해 다시 봐보자. 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..
. .
. .
변수의 종류에 따른 특성과 할당 위치 1. 스택영역에 할당되는 지역변수와 매개변수 지역변수,매개변수는 임시적인 특성을 가진다. 프로그램 실행 중간에 생성되었다가, 어느 순간에 사라진다. 아래는 메인함수내에서 지역변수 n이 선언되자, 스택 영역에 변수n이 할당되었다. 아래에서도 fct함수가 호출되자 매개변수 n과 지역변수 num이 스택에 할당되었다. 그리고 다시 fct함수 중괄호 지역을 벗어나면 변수는 메모리 공간에서 소멸된다. 앞서 스택은 잠깐 사용하고 삭제할 데이터들을 저장하기 위해 마련해 둔 공간이라고 하였는데, 이는 지역변수와 매개변수를 두고 한말이다. 이렇게 생성 및 소멸과 관련해서 동일한 특성(임시변 수)을 지니는 지역변수와 매개변수를 스택이라는 하나의 메모리 공간에 쌓아두면, 관리가 용이해지 고 성능의 향상으로 이어진다. 왜냐하면..