Language/C
[따배씨] 10.3 포인터의 산술 연산
migrationArc
2021. 6. 4. 10:36
따배씨 - 따라하며 배우는 C언어
10강 배열과 포인터
10.3 포인터의 산술 연산 Pointer Arithmetic
#include <stdio.h>
int main(){
int* ptr = 0;
printf("%p %lld\n", ptr, (long long)ptr);
// 0x0 0
ptr ++;
printf("%p %lld\n", ptr, (long long)ptr);
// 0x4 4
return 0;
}
- 주소값에 1 을 더하면, 다음 주소값이 나옴
- 다음 주소값: 자료형에 할당되는 메모리크기 만큼의 역역 뒤의 주소값
- int -> +4
- char -> +1
- void는 산술연산 불가, 자료형이 없기 때문
- 뺄셈도 마찬가지로 빼기 동작
#include <stdio.h>
int main(){
int arr[10];
int* ptr1 = &arr[3], * ptr2 = &arr[5];
// int ptr_add = ptr1 + ptr2;
int ptr_sub = ptr2 - ptr1;
return 0;
}
- 주소값의 합, Error, 불가능
- 주소값의 차, 배열 안에서의 index 차, 가능
이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다.
http://blog.naver.com/atelierjpro
실리콘 밸리의 프로그래머 : 네이버 블로그
안녕하세요! 홍정모 블로그에 오신 것을 환영합니다. 주로 프로그래밍 관련 메모 용도로 사용합니다. 강의 수강하시는 분들은 홍정모 연구소 카페로 오세요.
blog.naver.com
http://www.inflearn.com/course/following-c
홍정모의 따라하며 배우는 C언어 - 인프런 | 강의
'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 따라하며 배우는 C언어 '따배씨++'의 성원
www.inflearn.com