当前位置: 首页 > wzjs >正文

matlab代做网站北京seo公司助力网络营销

matlab代做网站,北京seo公司助力网络营销,flash 网站带后台,石家庄市工程勘察设计咨询业协会目录 结构体嵌套 举例1: 举例2: 举例3:自我嵌套 结构体变量的赋值操作 例子: 结构体嵌套 结构体的成员也是变量,那么成员可以是基本数据类型,也可以是数组、指针、结构体等类型。如果结构体的成员是另…

目录

结构体嵌套

举例1:

举例2:

举例3:自我嵌套

结构体变量的赋值操作

例子:


结构体嵌套


结构体的成员也是变量,那么成员可以是基本数据类型,也可以是数组、指针、结构体等类型。如果结构体的成员是另一个结构体,这就构成了结构体嵌套。

举例1:

#include <stdio.h>typedef struct{char* firstName;char* lastName;
}Name;typedef struct{Name name;int age;char gender;
} Student;int main(){Student stu1;stu1.name.firstName = "美美";stu1.name.lastName = "韩";stu1.age = 18;stu1.gender = 'F';//或者Name name = {"美美","韩"};stu1.name = name;stu1.age = 18;stu1.gender = 'F';return 0;
}

举例2:

typedef struct { //声明一个结构体类型 struct Dateint year;      //年int month;     //月int day;       //日
}Date;typedef struct { //声明一个结构体类型 struct Employeeint id;char* name;int age;Date birthday; //成员birthday属于struct Date类型
}Employee;

声明结构体变量并调用成员

#include <stdio.h>int main(){Employee empl;empl.id = 1001;empl.name = "Tony";empl.age = 24;empl.birthday.year = 2001;empl.birthday.month = 3;empl.birthday.day = 12;return 0;}

说明:如果成员本身又属一个结构体类型,则要用若干个 .,一级一级地找到最低的一级的成员。比如,emp1.birthday.year。

赋值的时候还有多种写法:

#include <stdio.h>

int main() {
  //方式1:
  Employee emp1 = {1001, "Tony", 24, {1999, 10, 11}};


  //方式2:
  Date birthday = {2001, 5, 6};


  //方式3:
  Employee emp3 = {
    .id = 1003,
    .age = 24,
    .name = "Jerry",
    .birthday = {2001, 3, 16}
  };


  //方式4:
  Employee emp4 = {
    .id = 1003,
    .age = 27,
    .name = "Jerry",
    .birthday.year = 1998,
    .birthday.month = 8,
    .birthday.day = 12
  };

  return 0;
}


举例3:自我嵌套


单链表结构的结点定义如下:

struct Node {
  int data;                 //这里默认的是int型,如需其他类型可修改
  struct Node* next; //指向Node型变量的指针
};


结构体变量的赋值操作


同类型的结构体变量可以使用赋值运算符(=),赋值给另一个变量,比如 

student1 = student2; // 假设student1和student2定义为同类型的结构体变量

这时会生成一个新的副本。系统会分配一块新的内存空间,大小与原来的变量相同,把每个属性都复制过去,即原样生成了一份数据。
也就是说,结构体变量的传递机制是值传递,而非地址传递。这一点跟数组的赋值不同,使用赋值运算符给数组赋值,不会复制数据,只是传递地址。

例子:

struct Car {
double price;
char* name;
} a = {.name = "AudiA6", .price = 3900};
 
int main() {
 
struct Car b = a;  //结构体属于值传递,传递后会创建一个新的结构体空间, 不是传递结构体地址
 
printf("&a=%p\n", &a); //结构体a变量的地址 00007ff75a019020
printf("&b=%p\n", &b); //结构体b变量的地址 000000a6201ffcd0
//修改b结构体变量值
b.name = "宝马";
b.price = 40000;
printf("a.name=%s,a.price=%.2lf\n",a.name,a.price);     //a.name=AudiA6,a.price=3900.00
printf("b.name=%s,b.price=%.2lf\n",b.name,b.price);    //b.name=宝马,b.price=40000.00

}

:上例中,变量b是变量a的副本,两个变量的值是各自独立的,修改掉b.name不影响a.name.

http://www.dtcms.com/wzjs/472289.html

相关文章:

  • 奉化区建设局网站产品推广方案怎么写
  • 网站云主机超级优化空间
  • 做网站必备软件网站权重排名
  • qt做网站服务器公司域名注册查询
  • 天津企业模板建站百度app下载安装
  • 网站建设需要哪些优化关键词排名软件
  • 网站备案审核制度5g站长工具查询
  • 网上学做网站如何快速网络推广
  • 中欣卡网上购物商城seo外链工具源码
  • 在手机上编写安卓app网络seo培训
  • 安徽省建设造价网站河北seo网络优化师
  • 惠安通网站建设掌门一对一辅导官网
  • 淮南模板网站建设怎么样优化教程网站推广排名
  • 荆州网站建设价格seo优化系统
  • 房屋设计手机绘图软件seo优化培训多少钱
  • 为什么网站要改版网站运营主要做什么工作
  • 商务网站建设与维护(专21春)最近的电脑培训学校
  • 哪些做展架图的网站好温州seo
  • 个人网站域名起名微信小程序怎么做
  • 个人网站做捐赠发布违法吗企业品牌推广
  • 广告设计专业课程百度seo快速提升排名
  • 室内装饰装修资质证书seo免费视频教程
  • 招远建网站首选公司网站排名查询alexa
  • java项目网站开发网络营销是网上销售吗
  • 住房和城乡建设部干部学院网站营销软件站
  • 山西运城给网站做系统的公司seo服务如何收费
  • 网站管理员登陆后缀日本粉色iphone
  • 新疆教育平台网站建设2023新闻热点事件
  • 做网站汉口东莞seo托管
  • 邯郸教育网站建设网站关键词