목록포인터 (4)
happy coding
이중 포인터(double pointer)란 포인터를 가리키는 포인터이다. 예를 들어 q는 포인터 p를 가리키는 이중 포인터인데 여기서 p는 int형 변수인 i를 가리키는 포인터이다. 여기서 **q 앞의 자료형은 q가 포인팅하는 변수의 타입이다. *(*q) = 200인 경우 뒤쪽에 있는 *연산을 먼저 하고, 괄호 밖의 *연산을 진행한다. 이중 포인터를 사용하는 이유는, 포인터 값을 인수를 통해 받아와야 할 때 포인터의 주소를 통해 받아와야 하기 때문에 사용한다. 여기서 p[1]이 dzf로 바뀌지 않는 이유는 운영체제 에서 막아놨기 때문에(?) > 위의 배열과 포인터를 구분할 줄 알아야 한다. 문자열 배열에서 가장 많이 사용되는 건 포인터 배열이며, 이는 문자열들을 효율적으로 저장할 수 있다. 포인터 배열(..
포인터(pointer)란 주소를 가지고 있는 변수를 의미한다. 이를 이용하여 메모리의 내용에 직접 접근할 수 있다. 변수는 메모리에 저장되고 메모리는 바이트 단위로 접근이 가능하다. 따라서 변수의 크기에 따라 차지하는 메모리 공간이 달라진다. 예를 들어 char형 변수는 1byte, int형 변수는 4byte. 여기서 변수의 주소를 계산하는 연산자는 &이다. 예시로, 변수 i의 주소는 &i 라고 말할 수 있다. int i = 10;// 정수형 변수 i 선언한다. int *p = &i;// 변수 i의 주소가 포인터 p로 대입된다. short birthday; short *ptr;//포인터가 가리키는 대상의 크기가 2바이트인 포인터 변수를 선언 ptr = &birthday;//birthday 변수의 주소를 ..
컴퓨터에서는 각각의 문자에 숫자코드를 붙여 표시하는데, 1. 아스키 코드 2. 유니 코드 가 대표적으로 존재한다. 여기서 아스키 코드는 영문자를 표시하기 위해 사용하는 표준적인 8비트 문자 코드 이며, 유니 코드는 전세계의 모든 문자를 표현할 수 있도록 설계한 표준적인 16비트 문자 코드이다. 문자 변수와 문자 상수('A')는 %c나 %d로 출력하는 경우 같은 값을 나타낸다. 문자 상수인 경우 컴퓨터가 알아서 아스키 코드로 저장한다. 문자 상수를 변수에 저장하면 문자 변수이다. K 210 ~~ 103 M 220 ~~ 106 G 230 ~~ 109 T 240 ~~ 1012 byte 8 bit >> (unsigned)char (-27 ~ 27 - 1) half word 16 bit >> (unsigned)s..
TCP school을 보고 정리한 내용입니다. 연산자(operator) 연산자란 프로그램의 산술식이나 연산식을 표현하고 처리하기 위해 제공되는 다양한 기호를 의미한다. 산술 연산자(arithmetic operator) 산술 연산자는 사칙연산을 다루는 기본적이면서도 가장 많이 사용되는 연산자이다. 또, 모두 2 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽이다. + 왼쪽의 피연산자에 오른쪽 피연산자를 더한다. - 왼쪽의 피연산자에서 오른쪽 피연산자를 뺀다. * 왼쪽의 피연산자에 오른쪽 피연산자를 곱한다. / 왼쪽의 피연산자를 오른쪽 피연산자로 나눈다. % 왼쪽의 피연산자를 오른쪽 피연산자로 나눈 다음, 그 나머지를 반환한다. 연산자의 우선순위(operator preced..