#include<stdio.h>
#include<stdlib.h>
typedef struct t_name
{
char last_name[25];
char first_name[15];
char middle_init[2];
} NAME;
NAME my_name, your_name;
int main()
{
char temp[] = "sumit";
printf("Program started\n");
my_name.first_name=temp;
your_name = my_name;
NAME abc=my_name;
printf("my_name=%s\n",my_name.first_name);
printf("your_name=%s\n",your_name.first_name);
printf("abc=%s\n",abc.first_name);
}
But error occurs in following statement my_name.first_name=temp;
error: incompatible types when assigning to type ‘char[15]’ from type ‘char *’
define variable char *first_name
instead of
char first_name[15];
Try this
typedef struct t_name{
char *first_name;
char *middle_init;
char *last_name;
}NAME;
NAME my_name,your_name;
int main()
{
char temp[] = "sumit";
printf("Program started\n");
my_name.first_name=temp; // now you can assign value
your_name = my_name;
NAME abc=my_name;
printf("my_name=%s\n",my_name.first_name);
printf("your_name=%s\n",your_name.first_name);
printf("abc=%s\n",abc.first_name);
}
The erros is (something that you should have posted):
error: incompatible types when assigning to type ‘char[15]’ from type ‘char *’
You cannot copy strings like that, you need to copy character by character or use library function strcpy().
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With