반응형

*C언어 포인터(심화)

// 문제 : 원본값을 훼손하는 change 함수를 만들어주세요.
// 조건 : 매개변수 사용 없이 구현.
#include <stdio.h>

void change() {
  int num;
  printf("== change 함수 시작 ==\n");
  printf("&num : %ld\n", (long)&num);
  int* p = &num;
  *(p + 11) = 50;
  printf("== change 함수 끝 ==\n");
}

int main(void) {
  int x = 20;

  printf("&x : %ld\n", (long)&x);
  printf("change 함수 호출하기 전의 x : %d\n", x);

  change();  

  printf("change 함수 호출한 후의 x : %d\n", x);
  // 출력 => change 함수 호출한 후의 x : 50

  return 0;
}

 

*C언어 다중 포인터

#include <stdio.h>

int main() {
  int a = 20;

  printf("== 싱글포인터 ==\n");
  int* p;
  p = &a;
  printf("*p : %d\n", *p);
  printf("a : %d\n", a);


  printf("== 2중포인터 ==\n");
  int** pp;
  pp = &p;
  printf("*pp : %ld\n", (long)*pp);
  printf("p : %ld\n", (long)p);

  printf("**pp : %d\n", **pp);
  printf("a : %d\n", a);


  printf("== 3중포인터 ==\n");
  int*** ppp;
  ppp = &pp;
  printf("*ppp : %ld\n", (long)*ppp);
  printf("pp : %ld\n", (long)pp);

  printf("**ppp : %ld\n", (long)**ppp);
  printf("p : %ld\n", (long)p);
  
  printf("***ppp : %d\n", ***ppp);
  printf("a : %d\n", a);

  return 0;
}
반응형

'프로그래밍 > C언어' 카테고리의 다른 글

C언어 포인터  (0) 2020.05.25
C언어 변수타입, C언어 변수타입 크기확인  (0) 2020.05.23
컴퓨터 구성, 메모리, C언어 포인터  (0) 2020.05.23
C언어 함수(심화), 별찍기  (0) 2020.05.22
C언어 함수  (0) 2020.05.20

+ Recent posts