Pointers to Arrays:
- Array variable stores address of memory block hence it is pointer type.
- We can assign array variable directly to pointer variable and access the element using that pointer variable.
#include<stdio.h> void main() { int a[5] = {10,20,30,40,50}, i; int *p = a; p=a; for(i=0; i<5; i++) { printf(“%d\t”,a[i]); printf(“%d\t”,p[i]); printf(“%d\t”,*(p+i)); printf(“%d\t”,*(i+p)); printf(“%d\n”,i[p]); } } |
#include<stdio.h> int main() { int arr[5] = {10,20,30,40,50}; int *p = arr; printf(“%d \n”, *++p); printf(“%d \n”, *(p+2)); printf(“%d \n”, *++p+3); return 0; } |

#include<stdio.h> int main() { int arr[5] = {10,20,30,40,50}; int *ptr = arr; printf(“%d \n”, *(++ptr+1)); return 0; } |

#include<stdio.h> int main() { int arr[5] = {10,20,30,40,50},i; int* ptr; ptr = arr; printf(“%u\n”, *++ptr + 3); printf(“%u\n”, *(ptr– + 2) + 5); printf(“%u\n”, *(ptr+3)-10); return 0; } |

#include<stdio.h> int main() { int arr[5] = {8, 3, 4, 9, 2},i; int* ptr; ptr = arr; printf(“%u\n”, *(–ptr+2) + 3); printf(“%u\n”, *(++ptr + 2) – 4); printf(“%u\n”, *(ptr– +1 ) + 2); return 0; } |

#include<stdio.h> int main() { int arr[5] = {5, 2, 7, 3, 6},i; int* ptr; ptr = arr; printf(“%d\n”, *(ptr++ + 1) – 2); printf(“%d\n”, *(ptr– + 3) – 10); printf(“%d\n”, *(–ptr + 2 ) + 5); return 0; } |
