티스토리 뷰

포인터 기초

#포인터 이해

1. 포인터 개념
포인터 : 특정 위치를 가리키는 주소 정보
포인터 변수 : 포인터(주소)를 저장하는 변수, 다른변수를 가리키는 변수

2. 포인터 변수
포인터 변수의 데이터 타입은 포인팅하는 변수의 데이터 타입과 동일한 타입으로 선언
char* a;
int* b;

sizeof() 연산자
int sizeof(int) : 매개변수에 기술한 공간의 크기를 정수값으로 반환함

3. 포인터 초기화
& : 주소 구하기 연선자
& 데이터 변수 : 변수의 주소를 의미
* 포인터 변수 : 포인터 변수가 가리키는 주소의값

ex)
int a =5;
int *pa = &a;
결과값 -> a변수의 주소

#포인터 이용

1. 포인터 다루기

#include
int main()
{
    int a=9;
    int *pa = &a;

    prinf("변수 a의 값은 %d 이고 a의 주소는 %p이다.", a, &a);
    prinf("포인터 변수 pa의 값은 %p 이고 pa가 가리키는 곳의 값은 %d이다", pa,*pa);
    *pa = 12;
    printf("a=%d", a);
    return 0;
}
2. 이중 포인터
포인터 변수의 주소를 저장하는 포인터 변수

int x;
int *p = &x;
int **pp = &p;

이중 포인터가 가리키는 포인터를 이용해서 변수에 접근하려면 **처럼 두번 간접참조를 해야함
3. 포인터 오류
포인터 변수이므로 반드시 초기화해야함
포인터 변수를 초기화 하지 않고 사용하면 실행 에러가 발생함

int *p; -> 쓰레기값
*p = 10; -> 에러

널 포인터 : 포이턴가 다른 변수를 가리키지 않을 때는 NULL로 초기화
포인터를 안전하게 사용하려면 우선 포인터가 널 포인터인지를 검사

if(p!=NULL)
*p =10;

포인터 변수의 데이터 형이 반드시 포인터 변수가 가리키는 변수의 데이터 형과 일치해야함

short a;
int *p = &a; -> 컴파일 경고가 발생
*p = 10; -> 컴파일 경고를 뮈하고 실행하면, 실행 에러가 발생

'JAVA기반스마트웹개발2021 > 프로그래밍언어 활용' 카테고리의 다른 글

포인터와 문자열  (0) 2021.07.30
포인터 활용  (0) 2021.07.29
문자열  (0) 2021.07.27
배열  (0) 2021.07.27
변수의 스코프  (0) 2021.07.26
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함