Skip to main content

Command Palette

Search for a command to run...

Pointer arithmetic

Updated
•1 min read•View as Markdown
Pointer arithmetic

Program:

#include <stdio.h>
#define N 5
int main()
{
    float arr[N], *fptr;

    int *iptr, a[N], i;

    /* initialize */
    for(i = 0; i < N; i++)
    {
        arr[i] = i*i;
        a[i] = i*i*i;
    }
    printf("Before Pointer Arithmetic\n");
    for(i = 0; i < N; i++)
    {
        printf("arr[%d] = %f\t", i, *(arr + i));
        printf("a[%d] = %d\n", i, a[i]);
    }

    //Pointer Arithmetic

    /* initialize ptr to point to element arr[3] */
    fptr = &arr[2];

    *fptr = 1.0;        /* arr[2] = 1.0 */
    *(fptr - 1) = 0.9;  /* arr[1] = .9 */
    *(fptr + 1) = 1.1;  /* arr[3] = 1.1 */

    /* initialize iptr in the same way */
    iptr = &a[3];
    *iptr = 0;          /* a[2] = 1.0 */
    *(iptr - 1) = -1;   /* a[1] = 1.0 */
    *(iptr + 1) = 1;    /* a[3] = 1.0 */

    printf("\nAfter Pointer Arithmetic\n");
    for(i = 0; i < N; i++)
    {
        printf("arr[%d] = %f\t", i, *(arr + i));
        printf("a[%d] = %d\n", i, a[i]);
    }
    return 0;
}

Output:

13 views

More from this blog

P

Programming Tutorials

89 posts