sw 사관학교 정글/TIL & WIL

[2022.04.30 ]TIL - C언어(상수, 고차원 배열, 포인터)

donggyu 2022. 5. 2. 20:34
반응형

상수

처음 정의시 그 값이 영원히 바뀌지 않음

const (상수의 형) (상수 이름) = (상수의 값);

고차원 배열

배열 추가적인 내용

int arr2[5] = {1, 2, 3}; == int arr2[5] = {1, 2, 3, 0, 0}

특별히 초기화 하지 않은 원소들에는 0 이 들어가게 됨

int arr[][2] = {{1, 2}, {3, 4}, {5, 6}, {7}};

위 2 차원 배열은 배열 정의시 arr[][2] 라고 하였기 때문에 무조건 원소가 2 인 1 차원 배열들이 생기게 된다.

7 이 속한 1 차원 배열에는 원소가 한 개인 것이 아니라 마치 arr[3] = {1} 고 해도 상관 없는 것 처럼 8 번째 원소가 들어갈 자리를 비워놓게 된다

int arr[2][] = {{4, 5, 6}, {7, 8, 9}}; (x)

C 에서는 다차원 배열의 경우 맨 앞의 크기를 제외한 나머지 크기들을 정확히 지정해줘야 오류가 발생하지 않는다

삼차원 배열은 세 개의 값 (x,y,z) 을 통해서 원소에 접근

 

원소가 몇 번째 층에 있고 (x), 그 층에 해당하는 평면에 몇 행(y), 그리고 몇 열(z) 를 알면 int  변수에 정확하게 접근

n 차원은 n 개의 값을 통해서 원소에 접근


포인터

메모리 상에 위치한 특정한 데이터의 (시작)주소값을 보관하는 변수

int* p;

(포인터에 주소값이 저장되는 데이터의 형)* (포인터의 이름);

* : "나(포인터)를 나에게 저장된 주소값에 위치한 데이터로 생각해줘!”

      포인터 p 는 int 형 데이터의 주소값을 저장하는 변수

 

&: (주소값을 계산할 데이터) 연산자는 피연산자의 주소값을 불러 옴

     단항 연산자

 

반응형