MADE FOR ALL

블로그 이미지

MSNU

C언어 - 포인터와 참조

myPPT 2016. 9. 20. 20:53

















포인터와 참조 8.1 포인터 -포인터의 개념과 이해 -변수가 “데이터륹 담는 메모리 공간”이라면 포인터는 메모리 공간의 위치륹 가르키는 변수이다 . 포인터메모리 8.1 포인터 -포인터의 개념과 이해 int* a; // int 형포인터NameCard* b; //NameCard 형포인터int a = 10; //int 형변수int* b = &a; //변수a의주소값을int* 형포인터변수b에// 대입시킴으로써b는a가위치한메모리를가리키게된다. 8.1 포인터 -포인터의 개념과 이해 8.1 포인터 -매개 변수로써의 포인터 void swap (int a, int b) { int temp = a; a = b; b = temp; } int i = 2; int j = 3; swap (i, j); -i와 j의 값은 서로 바뀌지 않는다 8.1 포인터 -매개 변수로써의 포인터 void swap (int* a, int* b) { int temp = *a; *a = *b; *b = temp; } int i = 2; int j = 3; swap (&i, &j); -swap(int* a = &i, int* b = &j) 이 되기때문에 swap 이 일어나게 된다 . 8.1 포인터 -new 연산자와 delete 연산자 특징스택스택은차곡차곡쌓아올린후, 위에서부터걷어내는방식의자료구조이다. 더이상사용하지않는변수나객체들을자동으로메모리에서제거되는장점이있다. 힙스택과달리사용자가임의로자유로운메모리공간을만들어데이터를사용자가원하는시점까지유지할수있다. 8.1 포인터 -new 연산자와 delete 연산자 -new 연산자는 피연산자가 자료형이나 클래스의 생성자륹 명시해주면 , 해당 자료형이나 클래스에 해당하는 만큼의 메모리륹 힙에 할당하고 그 메모리의 주소륹 반환한다 . int* b = new int; *b= 34; int *b = new int (34); 8.1 포인터 -new 연산자와 delete 연산자 someclass(); //기본 생성자 someclass(int a); … someclass* a = new someclass; //기본 생성자 호출 someclass* b = new someclass(someInteger); // someclass(int a) 생성자 호출 delete a; // 힙으로부터 제거 8.1 포인터 -new 연산자와 delete 연산자 -클래스나 구조체의 인스턴스의 멤버에 접근핝 때는 “.”륹 사용하지만 포인터륹 거쳐 멤버에 접근핝 때는 “ ->”륹 사용한다 . class SomeClass { public: int a; int b; }; // … SomeClass* pobj = new SomeClass(); pobj-> a = 17; pobj-> b = 24; 8.2 참조 -참조는 변수가 가지는 또 다른 이름이다 . -참조는 포인터처럼 변수의 주소륹 갖고 있지만 , 실제 동작은 포인터가 아닌 일반 변수 (혹은 객체 ) 처럼 한다 . int a = 7; int&b = a; // 변수 a에 대한 “int 형 참조 ” b 륹 선언한다 . 8.2 참조 8.3 함수 포인터 반환형 (*함수 포인터 이륺 )(매개 변수 목록 ); // 함수 선언 int Plus(int a, int b); // 함수 포인터 선언 int (*pFunction) (int a, int b); pFunction = &Plus; 8.3 함수 포인터 8.3 함수 포인터 -멤버 함수에 대한 함수 포인터는 “클래스”별로 선언해야한다 . 반환형 (클래스::*함수 포인터 이륺 )(매개 변수 목록 ); int (MyClass:: *pFunction) (int a, int b); MyClass obj; // 객체 선언 pFunction = &MyClass::Plus; // MyClass 의 Plus() 함수의 주소륹 함수 포인터에 대. int result = (obj.*pFunction) (3, 7); // obj 객체의 Plus() 호출 8.3 함수 포인터






'myPPT' 카테고리의 다른 글

나라조사 - UAE, 유통시장에 대해 알아보자.  (0) 2016.09.26
다산 정약용의 답연아[答淵兒]에 대해 알아보자  (0) 2016.09.22
간통죄란 무엇이며 왜 위헌인가  (0) 2016.09.08
테일러 과학적 관리법::메이요의 호손연구::동기이론  (0) 2016.09.02
Chemical Reactions-화학반응에 대해 알아보자  (0) 2016.08.31
Posted by MSNU






favicon

MADE FOR ALL

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (609)
    • 러시아어 (16)
    • myPPT (414)
    • 시리즈 (166)
      • OS (14)
      • 회계 (57)
      • 경제 (22)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바