Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 깃허브
- 다크웹
- 보안뉴스 한줄요약
- 자바스크립트 element api
- php
- GIT
- javascript
- Oracle SQL
- 보안뉴스한줄요약
- 자바스크립트 API
- 자바스크립트
- 랜섬웨어
- 오라클
- 자바스크립트 기본 문법
- 파이썬
- oracle
- 자바스크립트 객체
- 카카오프로젝트100
- 자바스크립트 jQuery
- 카카오프로젝트
- 보안뉴스 요약
- 보안뉴스요약
- python
- ES6
- 자바스크립트 node
- 자바스크립트 prototype
- oracle db
- numpy
- 보안뉴스
- 카카오프로젝트 100
Archives
- Today
- Total
FU11M00N
[C언어] Double Pointer 본문
이중포인터?
기존에 있던 포인터를 생각해보자면 포인터를 선언할때 * 연산자가 한개가 쓰였는데요,
거기에 *연산자를 하나 더 넣어서 이중포인터 라고 부릅니다.
또한 이중포인터에 *를 하나 더붙이면 삼중포인터 까지 가능합니다.
이중 포인터 선언
#include <stdio.h>
int main(){
int a = 50;
int* p =&a;
int** pp = &p; // 이중포인터 선언
return 0;
}
기존에 포인터를 선언 했던 방법인 type *Name 에서 type **Name으로 *만 하나 더 붙여주면 됩니다.
이중 포인터 알아보기
#include <stdio.h>
int main(){
int a = 50;
int* p =&a;
int** pp = &p; // 이중포인터 선언
return 0;
}
사실 단일 포인터만 제대로 이해했다면 이중포인터는 이해 하기 쉽습니다.
#include <stdio.h>
int main(){
int a =50;
int* p = &a;
int** pp = &p;
printf("a = %d &a =%p \n",a,&a);
printf("p = %p &p = %p \n",p,&p);
printf("pp = %p &pp = %p \n",pp,&pp);
printf("a= %d, *p %d, **pp = %d\n",a,*p,**pp);
return 0;
}
위의 코드 결과 값.
더보기
a의 값 = 100 &a 의 주소 값 =000000000062FE1C
p의 값 = 000000000062FE1C &p 의 주소 값 = 000000000062FE10
pp의 값 = 000000000062FE10 &pp의 주소 값 = 000000000062FE08
a = 100, *p 100, **pp = 100
이중 포인터의 그림을 그리자면 이렇게됩니다.
'Programming > C Language' 카테고리의 다른 글
[C언어] 단일 링크드리스트 (2) | 2020.04.24 |
---|---|
[C언어] C언어 매크로 정의 (0) | 2020.04.19 |
[C언어] printf 함수 (0) | 2020.04.19 |
C언어 비트 연산자 (1) | 2020.04.18 |
C언어 증감 연산자 (0) | 2020.04.18 |
Comments