收藏此站 联系我们 网站
当前位置:首页» 行业新闻 » 【建站服务】滑县微信公众号开发【滑县网络推广】滑县建站、滑县网站维护、滑县网页制作、滑县微信小程序代运营公司-域名申请

【建站服务】滑县微信公众号开发【滑县网络推广】滑县建站、滑县网站维护、滑县网页制作、滑县微信小程序代运营公司-域名申请

作者: 风兰 . 阅读量: 6 . 发表时间:2022-09-20 15:32:26

网站建设
​

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


滑县微信公众号开发【滑县网络推广】滑县建站、滑县网站维护、滑县网页制作、滑县微信小程序代运营公司


滑县,河南省直管县, [1]  安阳市下辖县 [2]  ,位于河南省北部,经度:114.5193,纬度:35.5754,与安阳、濮阳、鹤壁、新乡接壤。北距安阳市70公里,南距郑州市130公里,东北距濮阳市53公里,西南距新乡市70公里,西北距鹤壁新市区25公里。总面积1814平方公里,耕地面积195.21万亩。 [3-4] 

滑县是中原经济区粮食生产核心区、河南省第一产粮大县、中国粮食生产先进单位、中国唯一的粮食生产先进县,有“豫北粮仓”之称。 [5]  滑县主要旅游景点,隋唐大运河、张家遗址、瓦岗寨、明福寺塔、欧阳书院、千翠湖等。

2017年10月,滑县通过国家专项评估检查,由河南省人民政府正式批准退出贫困县 [6]  。第二批节水型社会建设达标县(区)。 [7] 

2017年10月,滑县通过国家专项评估检查,由河南省人民政府正式批准退出贫困县 [6]  。


结构体的定义

short、int、long、char、float、double 这六个关键字代表C语言里的六种基本数据类型。C语言中,还提供了struct结构体数据类型,结构体是一种构造类型,由若干成员组成,每个成员可以是一个基本数据类型也可以又是一个构造类型,因此结构体可以用来存放一组不同类型的数据。例如:

1
2
3
4
5
6
typedef struct _Student
{
    int nId;
    char szName[16];
    double dbHeight;
}Student,*pStudent;

我们定义了一种Student结构体数据类型和一种pStudent结构体指针数据类型,可以使用Student、pStudent定义变量。

结构体的大小

结构体对齐方式:

  • 自然对齐

数据成员对齐规则:

  • 各成员变量存放的起始地址相对于结构体起始地址偏移量是sizeof(基本类型)整数倍

  • 如果成员为非基本类型,偏移量为其子成员中最大的基本类型长度的整数倍

结构体整体对齐规则:

  • 结构体的总大小是其成员中最大基本类型长度的整数倍

结构体变量和结构体指针

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
typedef struct _Student
{
    int nId;
    char szName[16];
    double dbHeight;
}Student,*pStudent;
 
//变量的定义
//1.结构体
Student tagStuA;
//2.指针
pStudent pTagStuB;
Student* pTagStuC;
 
//变量的初始化
//1.大括号初始化
Student tagStuC = {202101,"xiaoxin",100.0};
//1.单个成员赋值
tagStuC.dbHeight = 101.0;
//3.同结构体变量可以给同结构体变量赋值
Student tagStuD = tagStuC;
pStudent pTagStuE = &tagStuC;
 
//变量的访问, . 和 -> 运算符的优先级比 * 运算符高
printf("%s ",tagStuC.szName);
printf("%s ",pTagStuE->szName);

结构体应用

  1. 结构体数组

  2. 结构体指针数组

  3. 结构体作为参数传参

  4. 结构体指针作为参数传参

传值和传地址的区别

我们知道,一个结构体的成员可能有很多个,当我们定义结构体的时候,底层会根据我们的结构体成员算出对齐值,然后进行申请内存。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
typedef struct _Student
{
    int nId;
    char szName[16];
    double dbHeight;
}Student,*pStudent;
 
void ChangeValueA(Student tagStu)
{
    tagStu.szName = xiaoxin;
}
 
void ChangeValueB(pStudent pTagStu)
{
    pTagStu->szName = xiaoxin;
}
 
int main()
{
    Student tagStu;
    tagStu.szName = xiaoxin;
    //传值
    ChangeValueA(tagStu);
    //传地址
    ChangeValueB(&tagStu);
}

当结构体作为函数参数的时候,如果直接传结构体变量,函数参数相当于直接拷贝了一份结构体,这样特别消耗内存。当传入tagStu给函数的时候,函数的tagStu相当于重新申请的变量,拷贝了我们的实际参数tagStu,我们在函数内部修改不会改变实际参数的值,这就是传值。
如果我们想修改实际参数的值,需要把地址传过去,而指针就是地址,函数拷贝的是地址,根据地址修改里面的值,则可以改变实参的值,这个就是传地址。

浅拷贝shallow copy、深拷贝deep copy

  1. 结构体中只有基本类型成员时,结构体变量可以直接赋值给相同类型的结构体变量,浅拷贝没问题

  2. 当结构体包含指针成员时,浅拷贝会造成野指针问题

  3. 为结构体指针成员重新分配内存拷贝数据,深拷贝

  4. C语言中编译器默认结构体浅拷贝,深拷贝由程序员自己实现

  5. 深拷贝会造成内存浪费问题

写时拷贝copy-on-write
采用引用计数机制,共享内存数据,解决野指针和内存浪费问题


微信图片_20210425092605.jpg


滑县微信公众号开发【滑县网络推广】滑县建站、滑县网站维护、滑县网页制作、滑县微信小程序代运营公司


上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设:上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务