몽상실현개발주의

[따배씨] 10.3 포인터의 산술 연산 본문

Language/C

[따배씨] 10.3 포인터의 산술 연산

migrationArc 2021. 6. 4. 10:36

[따배씨] 10.3 포인터의 산술 연산

따배씨 - 따라하며 배우는 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

 

Comments