收藏此站 联系我们 网站
当前位置:首页» 网络推广 » 【建站服务】酒泉公众号代运营公司-域名申请

【建站服务】酒泉公众号代运营公司-域名申请

作者: 风兰 . 阅读量: 4 . 发表时间:2022-09-21 03:29:07

网站建设

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


酒泉公众号代运营公司

网站建设.png

ct student{
    int num;
    ....}stu[3];或struct{
    int num;
     ...}stu[3];

5.2 结构体数组的初始化

与其它类型数组一样,对结构体数组可以初始化如:

struct student{
    int mum;
    char name[20];
    char sex;
    int age;
    float score;
    char addr[30];}stu[3] = {{10101,"Li Lin", 'M', 18, 87.5, "103 Beijing Road"},
            {10101,"Li Lin", 'M', 18, 87.5, "103 Beijing Road"},
            {10101,"Li Lin", 'M', 18, 87.5, "103 Beijing Road"}};

定义数组 stu 时,元素个数可以不指定,即写成以下形式:

stu[] = {{...},{...},{...}};

编译时,系统会根据给出初值的结构体常量的个数来确定数组元素的个数。

当然,数组的初始化也可以用以下形式:

struct student{
    int num;
    ...};struct student stu[] = {{...},{...},{...}};

即先声明结构体类型,然后定义数组为该结构体类型,在定义数组时初始化。

从以上可以看到,结构体数组初始化的一般形式是在定义数组的后面加上:

5.3 结构体数组应用举例

下面例子说明结构体数组的定义和引用。

实例

#include <stdio.h>#include <string.h>#include <stdlib.h> struct person{    char name[20];    int count; }leader[3] = {{"Li", 0},             {"Zhang", 0},             {"Fun", 0}}; void main(){    int i, j;    char leader_name[20];    for(i = 1; i<= 10;i++)    {        scanf("%s", leader_name);        for(j=0;j<3;j++)            if(strcmp(leader_name, leader[j].name) == 0)                leader[j].count ++;    }    printf("n");    for(i=0;i<3;i++)        printf("%5s: %dn", leader[i].name, leader[i].count);    system("pause");}

运行结果如下:

LILiFunZhangZhangFunLiFunZhangLi

   Li: 3Zhang: 3
  Fun: 3

6、指向结构体类型数据的指针

一个结构体变量的指针就是该变量所占据的内存段的起始地址,可以设一个指针变量,用来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。指针变量也可以用来指向结构体数组中的元素。

6.1 指向结构体变量的指针

指向结构体变量的指针的应用:

实例

#include <string.h>#include <stdio.h>#include <stdlib.b> struct student{    long num;    char name[20];    char sex;    float score;}; void main(){    struct student stu_1;    struct student *p;    p = &stu_1;    stu_1.num = 89101;    strcpy(stu_1.name, "Li Lin");    stu_1.sex = 'M';    stu_1.score = 89.5;    printf("NO. :%ldnname: %snsex:%cnscore:%fn", stu_1.num, stu_1.name, stu_1.sex, stu_1.score);    printf("NO. :%ldnname: %snsex:%cnscore:%fn", (*p).num, (*p).name, (*p).sex, (*p).score);    system("pause");}

在主函数中声明了 struct student 类型,然后定义了一个 struct student 类型的变量,stu_1 同时又定义一个指针变量 p ,它指向一个 struct student 类型的数据,在函数的执行部分将结构体变量 stu_1 的起始地址赋给指针变量 p ,也就是使 p 指向 stu_1 然后对 stu_1 的各成员赋值,第二个 printf 函数也是用来输出 stu_1 各成员的值,但使用的是 (*p).num 这样的形式, (*p) 表示 p 指向的结构体变量,(*p).num 是 p 指向的结构体变量中的成员 num 。注意 *p 两侧的括弧不可省略,因为成员运算符 '.' 优先于 '*' 运算符,*p.num 就等价于 *(p.num)


tudent 类型的数据,在函数的执行部分将结构体变量 stu_1 的起始地址赋给指针变量 p ,也就是使 p 指向 stu_1 然后对 stu_1 的各成员赋值,第二个 printf 函数也是用来输出 stu_1 各成员的值,但使用的是 (*p).num 这样的形式, (*p) 表示 p 指向的结构体变量,(*p).num 是 p 指向的结构体变量中的成员 num 。注意 *p 两侧的括弧不可省略,因为成员运算符 '.' 优先于 '*' 运算符,*p.num 就等价于 *(p.num)


运行结果如下:


NO. :89101

name: Li Lin

sex:M

score:89.500000

NO. :89101

name: Li Lin

sex:M

score:89.500000

可以看到两个 printf 输出的结果相同。


在C语言中,为了使用方便和使之直观,可以把 (*p).num 改用 p->num 来代替,它表示 *p 所指向的结构体变量中的 num 成员,同样,(*p).name 等价于 p->name。


也就是说以下三种形式等价:


a. 结构体变量.成员名

b. (*p).成员名

c. p-> 成员名

上面的最后一个 printf 函数输了项可以改写为:


printf("NO. :%ld name: %s sex:%c score:%f ",p->num, p->name, p->sex, p->score);

其中 -> 称为指向运算符。


分析以下几种运算符:


p -> n 得到 p 指向的结构体变量中的成员 n 的值

p -> n ++ 得到 p 指向的结构体变量中的成员 n 的值,用完值后使它加 1

++p -> n 得到 p 指向的结构体变量中的成员 n 的值使之加 1 (先加)

6.2 指向结构体数组的指针

以前介绍过可以使用指向数组或数组元素的指针和指针变量,同样,对结构体数组及其元素也可以用指针变量来指向。


指向结构体数组的指针的应用。


实例

#include <stdio.h>

#inlcude <stdlib.h>

 

struct student

{

    int num;

    char name[20];

    char sex;

    int age;

};

 

struct student stu[3] = {{10101, "Li Lin", 'M', 18},

                         {10102, "Zhang Fun", 'M', 19},

                         {10103, "Wang Min", 'F', 20}};

 

int main()

{

    struct student *p;

    printf("No.    name        sex        age ");

    for(p=stu; p<stu+3;p++)

        printf("%5d %-20s %2c %4d ", p->num, p->name, p->sex, p->age);

    system("pause");

}



酒泉公众号代运营公司


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

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


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

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