Using Pointer in Structure Shows Error

Declaring Pointer Inside a Structure and Using it in main as a pointer and calling variables inside it by pointer.

#include <stdio.h>
#include <string.h>
struct dog
{
char *name[20];
char *breed[20];
int *age;
 };
int main()
{
struct dog d;
struct dog *g = &d;
printf("Enter the name :");
scanf("%s",g->name);
scanf("%s",g->breed);
scanf("%d",&g->age);
printf("\n%s",g->name);
printf("\n%s",g->breed);
printf("\n%d",g->age);

return 0;
}

This is the program…
How to scan a structure as a pointer but if i do like this it gives me more warning but I can run the program successfully,

In case If I remove “&” from “&d” there is no warnings but compiler shows Segmantation Fault.

How to run this program without Warnings and explain me the exact way of approach…

HELP ME WITH THIS.

These are the warnings…