언어 자료구조 알고리즘/디딤돌 C언어

48. 포인터와 - 연산

언제나휴일 2016. 1. 1. 12:21
반응형

 

C 언어에서는 같은 원소의 포인터 사이의 - 연산을 제공하죠.
 
연산 결과는 정수 형식으로 두 포인터 사이의 원소 개수예요.
예를 들어 int 형식 변수 a의 값이 1016이고 int 형식 변수 b의 값이 1000일 때 a-b의 결과는 4랍니다.
 
◈ 포인터 형식 사이의 - 연산
#include <stdio.h>
int main()
{
    int *a = (int *)1016;
    int *b = (int *)1000;
    printf("a:%d b:%d a-b:%d\n",a,b,a-b);
    return 0;
}
실행 결과
a:1016 b:1000 a-b:4
 
 
◈ 배열 이름과 포인터 형식 사이의 - 연산
#include <stdio.h>
int main()
{
    int arr[10];
    int *p = arr+4;
    printf("arr:%d p:%d p-arr:%d\n", arr, p, p-arr);
    return 0;
}
실행 결과
a:1242912 p:1242928 p-arr:4
 

 

반응형

'언어 자료구조 알고리즘 > 디딤돌 C언어' 카테고리의 다른 글

53. 프로그램 생명 주기  (0) 2016.01.01
52. 함수 개요  (0) 2016.01.01
51. 정리하기  (0) 2016.01.01
50. 인덱스 연산자  (0) 2016.01.01
49. 간접 연산자  (0) 2016.01.01
47. 포인터 + 정수  (0) 2016.01.01
46. 배열 선언문  (0) 2016.01.01
45. 배열과 포인터 개요  (0) 2016.01.01
44. 정리하기  (0) 2016.01.01
43. 매크로 구문  (0) 2016.01.01