C programming when printf a string we are not using * why : In c programming when we print a string. We are not using * . But when print a number using printf we are using *. So how it is understanding, i am printing a string or int. Is understanding using %s operator?

Attaching an example code



    #include<stdio.h>
    
    int main(int argc,char* argv){
    
    char data[]="This is an example of pointer";
    char *pointerstringdata =data;
    printf("print the string data is >> %s\n",pointerstringdata);   /* Here we are not using * why?  case -1*/
    
    
    int numberdata =100;
    int *pointerintdata=&numberdata;
    printf("print the int data is >> %d\n",*pointerintdata);   /* Here we are  using * why?  case -2*/
    return 0;
    }

    

