c语言结构体2之变量赋值于字符串

时间:2023-03-08 17:46:33
 #include <stdio.h>
#include <stdlib.h> struct dangdang
{
char email[];
char name[];
char addr[];
int num;
int bugnum;
char tel[];
char phone[];
double RMB;
int dangdang;//成员名可以和类名同名
}dx,dy= {
"1111dfd1f@dfd",
"lala",
"chongq",
,
,
54.32,
}; void main()
{
dx=dy;
printf("%s",dx.name);
//结构体变量可以直接赋值
//但是必须是同一个类型 }
 struct ours
{
int num;//结构体类型定义的时候不能复初值
char str[];
}; void main()
{
struct ours ol = {,"hello"};
struct ours o2 = ol;//结构体直接赋值的时候,整体即使是字符串也可以
printf("%d,%s",o2.num,o2.str); //o2.str = o2.str;这个时候是指针常量 字符串不能直接赋值 //字符串的赋值方式
sprintf(ol.str,o2.str);
strcpy(ol.str,o2.str); getchar();
}

注意:

1结构体直接赋值的时候,整体即使是字符串也可以

2o2.str = o2.str;这个时候是指针常量 字符串不能直接赋值

3字符串的赋值方式
 sprintf(ol.str,o2.str);
 strcpy(ol.str,o2.str);

4结构体类型定义的时候不能复初值