how to make structs point to different strings ? : I have a struct and in that a struct i have a character pointer but and i am creating different instances of this struct but when i am changing the pointer in one struct the other is also changing.

           #include <stdio.h>
          #include <stdlib.h>
          typedef struct human{
             int age;
             char* name;
              }Human;
			  
        int main(){
             Human h;
            FILE *s = fopen("h.txt","r");
			if(s==NULL){
				printf("dsdfsf");
			}
            fscanf(s,"%d",&h.age);
            fscanf(s,"%s",h.name);
			// add h to linked list 
			// repeat all this code 10 times to fill linked list by 10 humans 
          
			
			return 0; 
                }


what is happening that all humans in the linked list have different ages but same name! 