Pointer to String:
- A char* can points to a single character or a String.
- Char* holds the base address.
- We can process the strings using %s
- To process character by character, we use %c
#include<stdio.h>
int main()
{
char* s = "Online-C";
printf("%s \n", s);
printf("%c \n", s);
printf("%c \n", *s);
printf("%c \n", *s+3);
printf("%c \n", *(s+3));
return 0;
}
#include<stdio.h>
void main()
{
char* str = "learnown";
printf("%c\n", *str++ + 3);
printf("%s\n", ++str+2);
}
#include<stdio.h>
void main()
{
char* str = "learnown";
printf("%c\n" , *(str++ + 2)+3);
printf("%c\n" , *++str+2);
printf("%s\n" , --str-1);
}
Crack this code:
#include<stdio.h>
void main()
{
char* str = "learnown";
printf("%c\n",*((str-- +2)+1)-3);
printf("%c\n", *(--str + 3)-32);
printf("%c\n",*(++str+2)+4);
}
Output it:
#include<stdio.h>
void main()
{
char sport[ ]= "cricket";
int x=1 , y;
y=x++ + ++x;
printf(“%c”,sport[++y]);
}
A function can return the string using char* return type.
#include<stdio.h>
char* read(void);
int main()
{
char* name;
name = read();
printf("Name returned by read function is : %s \n", name);
return 0;
}
char* read(void)
{
char* name;
printf("Enter your name : ");
gets(name);
return name;
}