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

[정답] 디딤돌 C언어 47. 포인터 + 정수

언제나휴일 2016. 5. 1. 07:52
반응형

[정답] 47. 포인터 + 정수 


포인터와 정수 사이에 더하기


기본 연습
1. char
형식을 원소로 하는 포인터 변수 p 선언하고 1000으로 초기화하세요.
   
그리고 p 4 더한 후에 p 얼마인지 출력하세요.
: 1004
char
형식의 크기는 1 바이트이므로 p+4 하면 p에서 sizeof(char)*4 더하므로 1004
//char 형식을 원소로 하는 포인터 변수 p 선언하고 1000으로 초기화하세요.
//그리고 p 4 더한 후에 p 얼마인지 출력하세요.
 
#include <stdio.h>
int main(void)
{
    char *p = (char *)1000;
    printf("%d\n", p + 4);
    return 0;
}

2. short 형식을 원소로 하는 포인터 변수 p 선언하고 1000으로 초기화하세요.
   
그리고 p 4 더한 후에 p 얼마인지 출력하세요.
: 1008
short
형식의 크기는 2 바이트이므로 p+4 하면 p에서 sizeof(short)*4 더하므로 1008
//short  형식을 원소로 하는 포인터 변수 p 선언하고 1000으로 초기화하세요.
//그리고 p 4 더한 후에 p 얼마인지 출력하세요.
 
#include <stdio.h>
int main(void)
{
    short  *p = (short  *)1000;
    printf("%d\n", p + 4);
    return 0;
}
 

3. int 형식을 원소로 하며 원소 개수가 10 배열 arr 선언하세요.
     int
형식을 원소로 하는 포인터 변수 p 선언하고 arr+5 초기화하세요.
     arr
p 값을 출력하세요.
: 12188244 12188264 (실행할 때마다 다릅니다. 그렇지만 수의 차이는 20입니다.)
//int 형식을 원소로 하며 원소 개수가 10 배열 arr 선언
//int 형식을 원소로 하는 포인터 변수 p 선언하고 arr + 5 초기화
//arr p 값을 출력
#include <stdio.h>
int main(void)
{
    int arr[10];
    int *p = arr + 5;
    printf("%d %d\n", arr, p);
    return 0;
}



본문 47. 포인터 + 정수



반응형