int* A; //int 형 포인터 a
[포인터란]
[포인터와 포인터 변수]
- 메모리의 주소값을 저장하기 위한 변수
- "포인터"를 흔히 포인터 변수라 한다.
- 주소값과 포인터는 다르다
- 포인터의 크기는 컴퓨터의 주소 체계에 따라 결정되며 , 32비트 시스템은 4 바이트다.
[포인터 타입과 선언]
포인터 선언시 * 연산자를 사용한다.
A형 포인터 (A*) : A형 변수의 주소값을 저장
int * a;// int형 포인터 a
float * b;// float 형 포인터 b
[주소관련 연산자]
- * 연산자 : 포인터가 가리키는 메모리 참조
- & 연산자 : 변수의 주소값 반환
int a=3;
int* b= &a;
printg("%d",a); //3
printg("%d",b); //19922456 :주소값
printg("%d",*b); //3 : 메모리 참조값
[포인터에 다양한 타입이 존재하는 이유]
포인터 타입은 참조할 메모리의 크기정보를 제공한다.
(정수 - 실수는 메커니즘이 다르기에)
[잘못된 포인터의 사용]
int main(void)
{
int * PA; //쓰레기 값으로 초기화
*pa=10; //어디인지도 모르는데 초기화 하는것은 위험한 일
int* PB=100; //100이 어디인지 모르는데 초기화는 위험하다
*PB=23;
}
'C' 카테고리의 다른 글
14강 . 포인터와 함수에 대한 이해 (0) | 2023.01.05 |
---|---|
13강 . 포인터와 배열 (0) | 2023.01.05 |
11장 . 1차원 배열 (0) | 2023.01.05 |
9장 . C언어의 핵심 함수 (0) | 2023.01.02 |
8장 . 조건에 따른 분기 (0) | 2023.01.02 |