2016/07/05 - [컴퓨터/C언어] - 13-2 C 언어의 배열!
오늘은 드디어 포인터를 배워보도록 하겠습니다!!포인터는 메모리에 직접 접근이 가능하게 해주는 변수에요 변수들은 선언을 하면 메모리에 공간을 차지하고 저장이 되게 되는데요!! 포인터를 쓰면 그 메모리를 불러오게 할 수 있어요! 그럼 포인터 변수를 선언하는 방법을 알아보도록 하겠습니다!!
int main() {
int num = 3;
int *ptr = #
}
이런 식으로 선언하고 사용합니다! 저 &연산자는 scanf에서 많이 봤었죠? 바로 주소값을 전달해 주는 연산자에요!! 이렇게 포인터 변수에 주소값을 저장해줘서 사용하는 거죠 만약에 포인터를 초기화하고 싶으면!
int *ptr = 0;
int *ptr = NULL;
이렇게 하면 되는거죠 NULL은 그리고 포인터의 형과 변수의 형이 맞아야 합니다!
int main(){
int num1 = 3;
double *ptr1 = &num1; //4바이트를 읽고 정수라 받아들여야 하는데 8바이트를 읽어 버려 무의미해짐
double num2 = 5;
int * ptr2 = &num2; // 8바이트를 읽고 실수라 받아들여야 하는데 4바이트만 읽어 무의미해짐
}
이런 식으로 선언하면 안된다는 거죠 그리고 포인터 변수의 조작을 통해 포인터 변수가 가리키는 변수의 값을 바꿀 수 있습니다!
int main(){
int num1 = 3;
int *ptr1 = &num1;
(*ptr1)++;
(*ptr1) +=30;
printf("%d %d %p", num1, *ptr1, ptr1);
}
요렇게 사용하면 됩니다! 이 예제를 실행하면
이렇게 결과가 나오는데요! 저기서 %p는 주소를 출력하게 해주는 거에요!
모르는 것은 댓글이나 쪽지로 남겨주시면 성심 성의껏 답변해드리겠습니다!! 댓글, 공감, 구독(이웃추가)는 블로거에게 큰 힘이 됩니다! 부탁드리면서 이번 포스팅을 마치도록 하겠습니다! 지금까지 딘또였습니다
'Develop > C' 카테고리의 다른 글
14-3 C언어 포인터의 완성!! (0) | 2016.07.06 |
---|---|
14-2 C 언어의 배열 & 포인터의 관계! (0) | 2016.07.06 |
13-2 C 언어의 배열! (0) | 2016.07.05 |
13-1 C 언어의 배열! (0) | 2016.07.05 |
12 C언어 변수의 접근 범위! (0) | 2016.07.03 |
댓글