Pointer to array of character in c

Pointer to array of character: A pointer to such an array which contents is character constants is known as pointer to array of character constant.

What will be output if you will execute following code?

#include<stdio.h>
char display(char (*)[]);

int main(){

char c;
char character[]={65,66,67,68};
char (*ptr)[]=&character;

c=display(ptr);
printf("%c",c);

return 0;
}

char display(char (*s)[]){
**s+=2;
return **s;
}

Output: C

Explanation: Here function display is passing pointer to array of characters and returning char data type.

**s+=2
=>**s=**s+2
=>**ptr=**ptr+2 //s=ptr
=>**&character= **&character+2 //ptr=&character
=>*character=*character+2 //from rule *&p =p
=>character[0]=character[0]+2 //from rule *(p+i)=p[i]
=>character [0] =67
**s=character [0] =67

Note: ASCII value of ‘C’ is 67



Pointer to function
Pointer to array of function
Pointer to array of string
Pointer to structure
pointer to union
Multi level pointer
Pointer to array of pointer to string
Pointer to three dimentional array
Pointer to two dimensional array
Sorting of array using pointer
Pointer to array of array
Pointer to array of union
Pointer to array of structure
Pointer to array of character
Pointer to array of integer
C tutorial
Post a Comment