收藏此站 联系我们 网站
当前位置:首页» 行业新闻 » 【建站服务】靖江网站建设_企业网站制作公司_高端网站设计开发-靖江上往-域名申请

【建站服务】靖江网站建设_企业网站制作公司_高端网站设计开发-靖江上往-域名申请

作者: 风兰 . 阅读量: 15 . 发表时间:2022-09-21 04:04:33

网站建设
​

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


靖江网站建设_企业网站制作公司_高端网站设计开发-靖江上往

网站建设.png

+p) -> num 先使 p 自加 1 ,然后得到它指向的元素中的 num 成员的值(即10102)。

(p++) ->num 先得到 p->num 的值(即10101),然后使 p 自加 1 ,指向 stu[1]。

注意以上二者的不同。

(2)程序已定义了指针 p 为指向 struct student 类型数据的变量,它只能指向一个 struct student 型的数据(p 的值是 stu 数组的一个元素的起始地址),而不能指向 stu 数组元素中的某一成员,(即 p 的地址不能是成员地址)。例如,下面是不对的:

p = &stu[1].name

编译时将出错。千万不要认为反正 p 是存放地址的,可以将任何地址赋给它。如果地址类型不相同,可以用强制类型转换。例如:

p = (struct student *)&stu[1].name;

此时,在 p 中存放 stu[1] 元素的 name 成员的起始地址。

6.3 用结构体变量和指向结构体的指针作函数参数

将一个结构体变量的值传递给另一个函数,有3个方法:

  • (1)用结构体变量的成员作参数,例如:用 stu[1].num 或 stu[2].name 作函数实参,将实参值传给形参。用法和用普通变量作实参是一样的,属于 值传递 方式。应当注意实参与形参的类型保持一致。

  • (2)用结构体变量作参数。老版本的C系统不允许用结构体变量作实参,ANSI C取消了这一限制。但是用结构体变量作实参时,采取的是 值传递 的方式,将结构体变量所占的内存单元全部顺序传递给形参。形参也必须是同类型的结构体变量。在函数调用期间形参也要占用内存单元。这种传递方式在空间和时间上开销较大,如果结构体的规模很大时,开销是很可观的,此外由于采用值传递方式,如果在执行被调用函数期间改变了形参(也是结构体变量)的值,该值不能返回主调函数,这往往造成使用上的不便。因此一般较少用这种方法。

  • (3)用指向结构体变量(或数组)的指针作实参,将结构体变量(或数组)的地址传给形参。

用结构体变量作函数参数。

实例

#include <stdio.h>#define FORMAT "%dn%sn%fn%fn%fn" struct student{    int num;    char name[20];    float score[3];}; void print(struct student stu)


t

{

    int num;

    char name[20];

    float score[3];

};

 

void print(struct student stu)

{

    printf(FORMAT, stu.num, stu.score[0], stu.score[1], stu.score[2]);

    printf(" ");

}

 

void main()

{

    struct student stu;

    stu.num = 12345;

    strcpy(stu.name, "Li Li");

    stu.score[0] = 67.5;

    stu.score[1] = 89;

    stu.score[2] = 78.6;

    printf(stu);

}

将上面改用指向结构体变量的指针作实参。


实例

#include <stdio.h>

#define FORMAT "%d %s %f %f %f "

 

struct student

{

    int num;

    char name[20];

    float score[3];

}stu = {12345, "Li Li", 67.5, 89, 78.6};

 

void print(struct student *p)

{

    printf(FORMAT, p->num, p->name, p->score[0], p->score[1], p->score[2]);

    printf(" ");

}

 

void main()

{

    print(&stu);

}

7、用指针处理链表

7.1 链表概述

链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。


链表有一个 头指针 变量,它存放一个地址,该地址指向一个元素,链表中每一个元素称为 结点,每个结点都应包括两个部分,一为用户需要用的实际数据,二为下一个结点的地址。可以看出,头指针 head 指向第一个元素,第一个元素又指向第二个元素,。。。。直到最后一个元素,该元素不再指向其他元素,它称为 表尾,它的地址部分放一个 NULL(表示 空地址)链表到此结束。


可以看到链表中各元素在内存中可以不是连续存放的,要找某一元素,必须先找到上一个元素,根据它提供的下一元素地址才能找到下一个元素。如果不提供 头指针 head 则整个链表无法访问。


可以看到。这种链表的数据结构,必须利用指针变量才能实现,即一个结点中应包含一个指针变量



靖江网站建设_企业网站制作公司_高端网站设计开发-靖江上往


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

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


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

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