17장. 포인터의 포인터.

Slides:



Advertisements
Similar presentations
 사회  4 학년 1 학기  1. 우리 시ㆍ도 모습 > (1) 지도에 나타난 우리 시. 도의 모습 (2/17) 지도를 알아보자 (1)
Advertisements

녹는점과 끓는점 화학과 이 언정 손 나영 《수업 계획서》
아동이 살기 좋은 횡성군 만들기 추진위원회 2차 모임
& 국민연금법 국민건강보험법 사회복지법제 행정학부 김인철 사회복지학과 김건우
시대의 향기를 담은 고수필 고전문학원전강독 신태웅 김수연 이진솔.
슬라이드 1~21까지는 각자 복습! 슬라이드 22부터는 수업시간에 복습
Power C++ 제6장 포인터와 문자열.
쉽게 풀어쓴 C언어 Express 제5장 수식과 연산자 C Express Slide 1 (of 34)
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
에서 ( 탭 – [인기 다운로드 | 모든 다운로드] ) Visual Studio 2015
C 프로그래밍.
2007 1학기 10 함수 활용.
C 6장. 함수 #include <stdio.h> int main(void) { int num;
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
C 10장. 함수의 활용 #include <stdio.h> int main(void) { int num;
C 11장. 포인터의 활용 #include <stdio.h> int main(void) { int num;
C언어: 배열 (Arrays).
6장. printf와 scanf 함수에 대한 고찰
쉽게 풀어쓴 C언어 Express 제9장 함수와 변수 C Express.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 14. 포인터와 함수에 대한 이해.
8장 포인터.
연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자
25장. 메모리 관리와 동적 할당.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
C 7장. 배열과 문자열 #include <stdio.h> int main(void) { int num;
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
C 프로그래밍.
7장 배열 배열의 정의 배열의 초기화 1차원 배열 2차원 및 다차원 배열 문자 배열 배열과 구조.
10장 포인터와 문자열 포인터 기본 배열과 포인터 매개변수 전달방법 포인터와 문자열.
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express.
C ++ 프로그래밍 시작.
Chapter 10. 포인터.
프로그래밍2 및 실습 C언어 기반의 C++ 2.
14장. 포인터와 함수에 대한 이해.
5장. 상수와 기본 자료형. 5장. 상수와 기본 자료형 5-1 C 언어가 제공하는 기본 자료형 자료형(data type) 기본 자료형 사용자 정의 자료형 int val; "선언할 변수의 특징을 나타내기 위한 키워드" 기본 자료형 기본적으로 제공이 되는 자료형 사용자.
13. 포인터와 배열! 함께 이해하기.
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
Chapter 10 함수 기본.
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
11장. 1차원 배열 IT응용시스템공학과 김 형 진 교수.
19. 함수 포인터와 void 포인터.
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
CHAP 2:순환.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
처음으로 배우는 C 프로그래밍 제3부 함수 제 6 장 함수 작성.
게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일.
Chapter 11. 배열과 포인터.
실습과제 1(조건문, ) 표준입력으로 수축기 혈압을 입력 받아 그에 따른 적당한 표현을 화면에 출력하는 프로그램을 if-else 문을 이용하여 작성.
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
-Part2- 제1장 1차원 배열이란 무엇인가.
C89(C++03) 프로그래밍 (Part 2) 7 배열 8 변수 범위 9 포인터 10 유도 자료형.
5. 논리적 자료표현 : 구조체.
18장. 다차원 배열 그리고 포인터.
-Part1- 제8장 조건문이란 무엇인가 (교재 199페이지 ~ 224페이지)
재활용의 실태와 재활용품 만들기의 계획 실과 6학년 8 . 환경을 살리는 나의 생활> 2) 재활용품 만들기(5~6/8)
아동안전관리 홍성훈 교수님 아동보육학과 박윤희
컴퓨터 프로그램은 여러 기능의 복합체이다. 라이브러리 함수와 사용자 정의 함수
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
자료구조 세미나 발표 주제: 자료구조 기초 - 1회 차: 자료구조의 정의, 기초 지식 (함수, 포인터, 레퍼런스)
제 10장 가족치료모델 발 표 : 여금란.
컴퓨터 프로그래밍 기초 - 11th : 파일 입출력 및 구조체 -
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
argc, argv 의 사용방법 #include <stdio.h>
C.
C 프로그래밍은 매우 도전적인 작업이다. 도전의 이면에 철저한 준비와 체계적인 노력
13. 포인터와 배열! 함께 이해하기.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 17. 포인터의 포인터.
배열, 포인터, 함수 Review & 과제 1, 2.
11장. 1차원 배열.
Presentation transcript:

17장. 포인터의 포인터

17-1 포인터의 포인터 포인터의 포인터 더블 포인터라고 불린다. 싱글 포인터의 주소 값을 저장하는 용도의 포인터 17-1 포인터의 포인터 포인터의 포인터 더블 포인터라고 불린다. 싱글 포인터의 주소 값을 저장하는 용도의 포인터 int main(void) { double val=3. 14; double *ptr1 = &val; // 싱글 포인터 double **ptr2 = &ptr1; // 더블 포인터 . . . 그림 17-1 그림 17-2

더블 포인터의 의한 Call-By-Reference 17-1 포인터의 포인터 더블 포인터의 의한 Call-By-Reference 다음 그림이 제시하는 프로그램의 구성을 통한 이해 그림 17-3

17-1 포인터의 포인터 구현 사례 1 : 효과 없는 swap 함수의 호출 그림 17-5 /* ptr_swap1.c */ 17-1 포인터의 포인터 구현 사례 1 : 효과 없는 swap 함수의 호출 /* ptr_swap1.c */ #include <stdio.h> void pswap(int *p1, int *p2); int main(void) { int A=10, B=20; int *pA, *pB; pA=&A, pB=&B; pswap(pA, pB); // 함수 호출 후 printf("pA가 가리키는 변수 : %d \n", *pA); printf("pB가 가리키는 변수 : %d \n", *pB); return 0; } void pswap(int *p1, int *p2) { int *temp; temp=p1; p1=p2; p2=temp; } 그림 17-5

17-1 포인터의 포인터 구현 사례 2 : 더블 포인터 입장에서의 swap 그림 17-6 /* ptr_swap2.c */ 17-1 포인터의 포인터 구현 사례 2 : 더블 포인터 입장에서의 swap /* ptr_swap2.c */ #include <stdio.h> void pswap(int **p1, int **p2); int main(void) { int A=10, B=20; int *pA, *pB; pA=&A, pB=&B; pswap(&pA, &pB); //함수 호출 후 printf("pA가 가리키는 변수 : %d \n", *pA); printf("pB가 가리키는 변수 : %d \n", *pB); return 0; } void pswap(int **p1, int **p2) { int *temp; temp=*p1; *p1=*p2; *p2=temp; } 그림 17-6

17-1 포인터의 포인터 포인터 배열과 포인터 타입 1차원 배열의 경우 배열이름이 가리키는 대상을 통해서 타입이 결정된다. 17-1 포인터의 포인터 포인터 배열과 포인터 타입 1차원 배열의 경우 배열이름이 가리키는 대상을 통해서 타입이 결정된다. 포인터 배열이라고 하더라도 마찬가지! int* arr1[10]; double* arr2[20]; char* arr3[30];

17-2 포인터의 필요성 지금까지… 앞으로… swap 함수와 같이 함수 내에서 데이터의 조작을 하기 위해서… 메모리 동적 할당 17-2 포인터의 필요성 지금까지… swap 함수와 같이 함수 내에서 데이터의 조작을 하기 위해서… 앞으로… 메모리 동적 할당 자료구조의 구현