SlideShare a Scribd company logo
포인터와 참조
경북산업직업전문학교
신동인
포인터란 무엇인가?
• 주소값의 저장을 목적으로 선언되는 변수
int main(void)
{
int num = 7;
int * pnum; // 포인터 변수의 선언
pnum = # // num 변수의 주소값을 포인터 변수 pnum에 저장
…
}
포인터의 형
int * pnum1;
double * pnum2;
&연산자
int main(void)
{
int num = 5;
double * pnum = &num1; // 일치하지 않음!
double num2 = 5;
int * pnum2 = &num2; // 일치하지 않음!
}
*연산자
Int main(void)
{
Int num=10;
Int * pnum=# // 포인터 변수 pnum이 변수 num을 가르킨다.
*pnum=20; // pnum이 가르키는 변수에 20을 저장하라.
Printf(“%d”, *pnum); // pnum이 가리키는 변수를 출력
}
실습예제
#incldue <stdio.h>
int main(void)
{
Int num1 = 100, num2=200;
pnum = &num;
(*pnum) += 30;
pnum = &num2;
(*pnum) -=30;
printf(“num1:%d, num2:%d n”, num1, num2);
return 0;
}
잘못된 포인터 사용과 널 포인터
• int main(void)
• {
• int * ptr; // 쓰레기 값으로 초기화
• *ptr = 200;
• }
• int main(void)
• {
• int * ptr = 125; // 125값이 메모리 주소가 아님
• *ptr =10;
• }
• int main(void)
• {
• int * ptr1 = 0;
• int * ptr2 = NULL // NULL은 사실상 0을 의미함
• }

More Related Content

More from Daniel Shin

3D창작동화전집 디지털컨텐츠 사업계획서 20230404v2.doc
3D창작동화전집 디지털컨텐츠 사업계획서 20230404v2.doc3D창작동화전집 디지털컨텐츠 사업계획서 20230404v2.doc
3D창작동화전집 디지털컨텐츠 사업계획서 20230404v2.doc
Daniel Shin
 
인터넷 오락실게임 사업계획서_20230320v2.doc
인터넷 오락실게임 사업계획서_20230320v2.doc인터넷 오락실게임 사업계획서_20230320v2.doc
인터넷 오락실게임 사업계획서_20230320v2.doc
Daniel Shin
 
덴티스 면접 포트폴리오_신동인v1.docx
덴티스 면접 포트폴리오_신동인v1.docx덴티스 면접 포트폴리오_신동인v1.docx
덴티스 면접 포트폴리오_신동인v1.docx
Daniel Shin
 
C언어강의 발표자료 1강.pptx
C언어강의 발표자료 1강.pptxC언어강의 발표자료 1강.pptx
C언어강의 발표자료 1강.pptx
Daniel Shin
 
resume20220510v3.pptx
resume20220510v3.pptxresume20220510v3.pptx
resume20220510v3.pptx
Daniel Shin
 
미니메타버스v5.pptx
미니메타버스v5.pptx미니메타버스v5.pptx
미니메타버스v5.pptx
Daniel Shin
 
카툰월드기획서.pptx
카툰월드기획서.pptx카툰월드기획서.pptx
카툰월드기획서.pptx
Daniel Shin
 
STL.doc
STL.docSTL.doc
STL.doc
Daniel Shin
 
프로젝트_성공하는_법.pptx
프로젝트_성공하는_법.pptx프로젝트_성공하는_법.pptx
프로젝트_성공하는_법.pptx
Daniel Shin
 
3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)
Daniel Shin
 
3D 기술 세미나2주차
3D 기술 세미나2주차3D 기술 세미나2주차
3D 기술 세미나2주차
Daniel Shin
 
백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나
Daniel Shin
 
통한의원 안드로이드앱 기획서
통한의원 안드로이드앱 기획서통한의원 안드로이드앱 기획서
통한의원 안드로이드앱 기획서
Daniel Shin
 
ASP.NET의 이해
ASP.NET의 이해ASP.NET의 이해
ASP.NET의 이해
Daniel Shin
 
한국사RPG 사업기획서 신동인
한국사RPG 사업기획서 신동인한국사RPG 사업기획서 신동인
한국사RPG 사업기획서 신동인
Daniel Shin
 
메트릭스 사업계획서 신동인
메트릭스 사업계획서 신동인메트릭스 사업계획서 신동인
메트릭스 사업계획서 신동인
Daniel Shin
 
PC게임마켓
PC게임마켓PC게임마켓
PC게임마켓
Daniel Shin
 
Rain Rendering 2/2
Rain Rendering 2/2Rain Rendering 2/2
Rain Rendering 2/2
Daniel Shin
 
기술 명세서
기술 명세서기술 명세서
기술 명세서
Daniel Shin
 
인공지능수업 발표자료
인공지능수업 발표자료인공지능수업 발표자료
인공지능수업 발표자료
Daniel Shin
 

More from Daniel Shin (20)

3D창작동화전집 디지털컨텐츠 사업계획서 20230404v2.doc
3D창작동화전집 디지털컨텐츠 사업계획서 20230404v2.doc3D창작동화전집 디지털컨텐츠 사업계획서 20230404v2.doc
3D창작동화전집 디지털컨텐츠 사업계획서 20230404v2.doc
 
인터넷 오락실게임 사업계획서_20230320v2.doc
인터넷 오락실게임 사업계획서_20230320v2.doc인터넷 오락실게임 사업계획서_20230320v2.doc
인터넷 오락실게임 사업계획서_20230320v2.doc
 
덴티스 면접 포트폴리오_신동인v1.docx
덴티스 면접 포트폴리오_신동인v1.docx덴티스 면접 포트폴리오_신동인v1.docx
덴티스 면접 포트폴리오_신동인v1.docx
 
C언어강의 발표자료 1강.pptx
C언어강의 발표자료 1강.pptxC언어강의 발표자료 1강.pptx
C언어강의 발표자료 1강.pptx
 
resume20220510v3.pptx
resume20220510v3.pptxresume20220510v3.pptx
resume20220510v3.pptx
 
미니메타버스v5.pptx
미니메타버스v5.pptx미니메타버스v5.pptx
미니메타버스v5.pptx
 
카툰월드기획서.pptx
카툰월드기획서.pptx카툰월드기획서.pptx
카툰월드기획서.pptx
 
STL.doc
STL.docSTL.doc
STL.doc
 
프로젝트_성공하는_법.pptx
프로젝트_성공하는_법.pptx프로젝트_성공하는_법.pptx
프로젝트_성공하는_법.pptx
 
3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)
 
3D 기술 세미나2주차
3D 기술 세미나2주차3D 기술 세미나2주차
3D 기술 세미나2주차
 
백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나
 
통한의원 안드로이드앱 기획서
통한의원 안드로이드앱 기획서통한의원 안드로이드앱 기획서
통한의원 안드로이드앱 기획서
 
ASP.NET의 이해
ASP.NET의 이해ASP.NET의 이해
ASP.NET의 이해
 
한국사RPG 사업기획서 신동인
한국사RPG 사업기획서 신동인한국사RPG 사업기획서 신동인
한국사RPG 사업기획서 신동인
 
메트릭스 사업계획서 신동인
메트릭스 사업계획서 신동인메트릭스 사업계획서 신동인
메트릭스 사업계획서 신동인
 
PC게임마켓
PC게임마켓PC게임마켓
PC게임마켓
 
Rain Rendering 2/2
Rain Rendering 2/2Rain Rendering 2/2
Rain Rendering 2/2
 
기술 명세서
기술 명세서기술 명세서
기술 명세서
 
인공지능수업 발표자료
인공지능수업 발표자료인공지능수업 발표자료
인공지능수업 발표자료
 

포인터와 참조_20220908v2_신동인.pptx