글
- const 변수가 포인터변수의 앞에오면 포인터가 가리키는 변수의 상수화 한다.
int a=10;
const int* p = &a;
*p = 30; // Error!
a = 30; // OK!
const int* p = &a;
*p = 30; // Error!
a = 30; // OK!
- const 가 포인터변수의 뒤에오면 포인터변수 자체를 상수화 한다.
int a=10;
int b=20;
int* const p = &a;
p=&b; // Error!
*p=30; // OK!
int b=20;
int* const p = &a;
p=&b; // Error!
*p=30; // OK!
- 함수포인터
--> 함수명 자체가 함수포인터 이다.
--> 함수포인터는 아래와같이 선언한다.
void (*fPtr)(void);
--> 이런 형태는 아래와같이 포인터를 할당할수 있다.int Add(void);
fPtr = Add;
fPtr = Add;
- Void 형 포인터
--> 아무런 형태가 없는 포인터
--> 사용하기위해서는 아래와같이 형 변환을 해야한다.
int main(void)
{
int n=10;
void *vp = &n ; // void 포인터 선언 및 초기화
*((int*) vp) = 20; // n 값을 변경하기 위해서 int 형 포인터로 형 변환
. . . . .
{
int n=10;
void *vp = &n ; // void 포인터 선언 및 초기화
*((int*) vp) = 20; // n 값을 변경하기 위해서 int 형 포인터로 형 변환
. . . . .
- 포인터의 포인터 (**)
--> 포인터의 포인터값을 가르키는 포인터
- malloc 와 free
--> c++ 로 오면서 new 와 delete 로 바꼈음.
'2007년1학기 > C++프로그래밍' 카테고리의 다른 글
C++ 에서 달라진점 (21) | 2007.03.21 |
---|---|
C++ 강의노트 3장 (40) | 2007.03.21 |
C++ 2강 자료 (683) | 2007.03.14 |
C++프로그래밍 (29) | 2007.03.09 |
강의1 (52) | 2007.03.07 |
RECENT COMMENT