본문 바로가기
01.Bit 단기/C

17_포인터

by chojju 2018. 4. 28.
반응형

#include <stdio.h>
//변수 목적
// 1) 값
// 2) 주소값

//변수의 형태
void exam1();

//1차원
void exam2();
//2차원
void exam3();

//const
void exam4();

void main()
{
 exam4();
}

void exam4()
{
 const int NUM = 1;

 int num = 10;
 int num1 = 20;

 const int *p = &num;  //?
 int * const p1 = &num;  //?

 p = &num1;  // ok...
 //*p = 100;  //error...

}

void exam3()
{
 int num = 1;
 int arr[2][3] = { 1, 2 };
 int(*parr)[3] = arr;
 int *p;

 p = arr[2]; //?
 *p = num *  **parr; // 1 + 1
}

void exam2()
{
 int num = 10;
 int *pnum = &num;
 int arr[3] = { 1, 2, 3 };
 int *parr[3];
 //========================================
 arr[0] = num;
 arr[1] = *pnum;  // 0 = 0
 arr[2] = arr[0] + arr[1];
 //===========================================
 parr[0] = &num;
 parr[1] = pnum; //?
 parr[2] = arr + 2; // &arr[2];
      //========================================
 *parr[2] = num;
 *(parr[2] - 1) = num;
 //======================================
}

void exam1()
{
 int num;   // int : 값

 int *p;    // int * : 주소값
 int **pp;   // int ** :  주소값
      // 2차원 배열 저장 불가
      // 1차원 포인터의 주소

 int(*p1)[5];  // int ** : 주소값
      // 열의 크기가 5인 2차원 배열 저장

 int arr[5];   //1차원 배열  : 값
 int* arr1[5];  //1차원 배열(차수2) : 주소값
 int arr2[2][5];  //2차원 배열  : 값
}

 

반응형

'01.Bit 단기 > C' 카테고리의 다른 글

19_void포인터  (0) 2018.04.28
18_함수포인터  (0) 2018.04.28
16_포인터배열  (0) 2018.04.28
15_배열  (0) 2018.04.28
14_함수의인자전달  (0) 2018.04.28

댓글