Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- C언어 #C #C프로그래밍 #프로그래밍 #언어
- 파일시스템과파티션 #포렌식 #사이버포렌식 #Encase #Forensic #파티션 #파일시스템 #정보보안
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #BrokenAuthentication
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #선택정렬 #선택정렬알고리즘
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #SQLi #TimeBaseSQLi #sqlinjection
- 사이버포렌식 #포렌식 #FAT
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터배열 #c언어포인터 #포인터 #c포인터
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터와문자열 #c언어문자열
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #C동적메모리할당 #malloc #메모리
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #phpcodeinjection #injection
- 포렌식 #사이버포렌식 #Forensic #정보보안 #IT
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #Call by value #Call by reference
- c언어malloc #동적할당 #c언어동적할당 #c언어malloc사용하기
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #xss #storedxss #CrossSiteScripting
- #FAT파일시스템 #파일시스템구조 #파일시스템 #Forensic #정보보안 #IT
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #CSRF #
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c2차원배열동적할당 #c언어동적할당 #c동적할당 #c언어동적할당2차원배열
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터의포인터 #c언어2중포인터
- c언어문자열처리방법 #c언어문자열
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #PUT메소드 #PUT #HTTP메소드 #취약점
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터 #c언어포인터연산
- XSS #ReflectedXSS
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #robots.txt #검색엔진노출
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c배열포인터 #c언어포인터 #c언어배열포인터 #배열포인터
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #SQLi #sqlinjectioon
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #commandinjection
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #로또번호생성 #로또번호만들기 #중복제거 #중복제거알고리즘
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #포인터 #포인터변수 #c언어주소 #주소
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #bruteFource #무차별공격
Archives
- Today
- Total
Hello Security World
C언어 [C언어 포인터의 포인터] 본문
C언어 포인터의 포인터
포인터의 포인터는 포인터 변수를 처리하기 위한 용도로 사용되며, 포인터 배열 은 포인터가 배열 요소이기 때문에
이를 포인터 변수로 처리하기 위해 포인터의 포인터가 필요한 것이다.
보통 포인터의 포인터 까지만 사용하고 필요에 의해서 포인터의 포인터의 포인터를 사용할수 있다. 하지만 주소 참조를 3번이나
하게되면 로직이 복잡해지고 Reading이 어려워지기 때문에 잘 사용하지 않는다 따라서 포인터의 포인터만 이해하고 넘어가도
될것 같다.
포인터의 포인터를 사용하는 방법은 다음과 같다.
//데이터 타입 **포인터 변수; char ch='F'; //문자형 변수 char *pch; //문자형 포인터 변수 char **ppch; //문자형 포인터의 포인터 변수
1 2 3 4 | //데이터 타입 **포인터 변수; char ch='F'; //문자형 변수 char *pch; //문자형 포인터 변수 char **ppch; //문자형 포인터의 포인터 변수 |
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 | #include <stdio.h> //포인터의 포인터 int main() { char str='F'; char* p = &str; char** pp = &p; printf("값 : %c\n",str); printf("주소 : %x\n",&str); printf("값 : %c\n",*p); printf("주소 : %x\n",p); printf("값 : %c\n",**pp); printf("주소 : %x\n",pp); } 실행결과 값 : F 주소 : 61feab 값 : F 주소 : 61feab 값 : F 주소 : 61fea4 |
포인터 배열의 문자열을 출력하는 프로그램
2중 포인터를 사용하는 예)
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #include<stdio.h> int point2(char **ptr); int main() { char* str[3] ={"hi","bye","ok"}; printf("첫번째 문자열 뽑아: [ %s ]\n",str[0]); //index첫번째 문자열에 접근 0번째 방 printf("두번째 문자열 뽑아: [ %s ]\n",str[1]); printf("세번째 문자열 뽑아: [ %s ]\n",str[2]); point2(str); //2pointer return 0; } int point2(char **ptr) { printf("\n"); printf("첫번째 문자열 뽑아: [ %s ]\n",*(ptr+0)); //hi 출력 -> 포인터가 가지고 있는 주소로 접근 '포인터 표기법' printf("두번째 문자열 뽑아: [ %s ]\n",*(ptr+1)); //bye 출력 printf("세번째 문자열 뽑아: [ %s ]\n",*(ptr+2)); //ok 출력 printf("\n"); printf("첫번째 문자열 뽑아: [ %s ]\n",*ptr); //hi 출력 -> 포인터가 가지고 있는 값으로 접근 '포인터 표기법' printf("두번째 문자열 뽑아: [ %s ]\n",*ptr+3); //bye 출력 printf("세번째 문자열 뽑아: [ %s ]\n",*ptr+7); //ok 출력 printf("\n"); printf("첫번째 문자열 뽑아: [ %s ]\n",ptr[0]); //hi 출력 -> 배열 index 형식 접근 '배열 표기법' printf("두번째 문자열 뽑아: [ %s ]\n",ptr[1]); //bye 출력 printf("세번째 문자열 뽑아: [ %s ]\n",ptr[2]); //ok 출력 return 0; } 첫번째 문자열 뽑아: [ hi ] 두번째 문자열 뽑아: [ bye ] 세번째 문자열 뽑아: [ ok ] 첫번째 문자열 뽑아: [ hi ] 두번째 문자열 뽑아: [ bye ] 세번째 문자열 뽑아: [ ok ] 첫번째 문자열 뽑아: [ hi ] 두번째 문자열 뽑아: [ bye ] 세번째 문자열 뽑아: [ ok ] 첫번째 문자열 뽑아: [ hi ] 두번째 문자열 뽑아: [ bye ] 세번째 문자열 뽑아: [ ok ] |
'프로그래밍 > C' 카테고리의 다른 글
C언어 [C언어 2차원 배열 동적할당] (0) | 2020.05.03 |
---|---|
C언어 [C언어 동적 메모리 할당 예제] (0) | 2020.05.03 |
C언어 [C언어 배열 포인터] (0) | 2020.05.03 |
C언어 [C언어 포인터 배열] (0) | 2020.05.03 |
C언어 [C언어 문자열 처리 방법] (0) | 2020.05.03 |