c语言高级代码(c语言入门自学零基础)

1、C语言中结构体 结构体简介 -在实际的处理对象中,有许多信息是由多个不同类型数组合一起进行描述,而且这些不同类型 的数据是互相联系组成了一个有机的整体。此时,就要用到一种新的构造类型数据–结构体 (srtucture), 简称结构 -结构体的使用为处理复杂的数据结构(如动态数据结构等),提供了有效的手段,且他们为函数 间传递不同类型的数据提供了方便。 结构体概念 -结构体是用户自定义的新数据…

1、C语言中结构体

结构体简介

-在实际的处理对象中,有许多信息是由多个不同类型数组合一起进行描述,而且这些不同类型
的数据是互相联系组成了一个有机的整体。此时,就要用到一种新的构造类型数据--结构体
(srtucture),
简称结构

-结构体的使用为处理复杂的数据结构(如动态数据结构等),提供了有效的手段,且他们为函数
间传递不同类型的数据提供了方便。

c语言高级代码(c语言入门自学零基础)

结构体概念

-结构体是用户自定义的新数据类型,有点像高级语言里的对像一样

-例如:定义一个人的结构体,那么这个结构体就有 身高、年龄、性别等

定义一个结构体类型的一般形式为

struct 结构名
{
    
    数据类型  成员名1;
    
    ...
    
    数据类型  成员名n;
}
例如:一个人的结构体
#include <stdio.h>
#include <string.h>
#define N 10
struct person{
    int age;
    int sex;
    char name[N];
} p ;
int main(){
    struct person p1,p2;
    p1.age =25;
    p1.sex =1;
    strcpy(p1.name,\"copy\");
    printf(\"%d %d,%sn\",p1.age,p1.sex,p1.name);
    return 0;
}

结构体大小

大小:一个结构体变量占用内存的实际大小,也能用sizeof求出

sizeof(运算量)

例如:

sizeof(person p1) sizeof(p2)

2、C语言结构体数组

结构体数组:是指数组中的每个元bai素都是一个结构体

c语言高级代码(c语言入门自学零基础)

三种方式

一、先定义结构体类型,再定义结构体数组

struct 结构体名
{
    成员表表;
};
struct 结构体名

例如:
struct person
{
    int age;
    ing sex;
    char name[10];
};

sturct person p[3];

二、在定义结构体同时定义数组

  struct 结构体名
{
    成员表表;
} 数组名[元素个数];

例如:
 {
    int age;
    ing sex;
    char name[10];
}p[3];

三、直接定义结构体数组

 struct 
{
    成员表表;
};

例如:
 {
    int age;
    ing sex;
    char name[10];
 }p[3];

#include <stdio.h>
#include <string.h>
#define N 10
struct person{
    int age;
    int sex;
    char name[N];
} p[2] ;
int main(){

    p[1].age =10;
    p[1].sex =1;
    strcpy(p[1].name,\"copy\");
    printf(\"%d %d,%sn\",p[1].age,p[1].sex,p[1].name);
    return 0;
}

3、结构体指针

可以设定一个指针变量用来指向一个结构体变量。些时该指针变量的值是结构体变量的起始地址
,该指针称为结构体指针

一般形式:
    struct 结构体名 *结构体指针名
    
注:其中的结构体名必须是已经定义的

#include <stdio.h>
#include <string.h>
#define N 10
struct person{
    int age;
    int sex;
    char name[N];
} p[2] ;
int main(){
    p[1].age =10;
    p[1].sex =1;
    strcpy(p[1].name,\"copy\");

    struct person * p1;
    p1 =&p[1];
    
    printf(\"%d %d,%sn\",p[1].age,p[1].sex,p[1].name);
    printf(\"%d %d,%sn\",p1->age,(*p1).sex,p1->name);
    return 0;
}

使用 指针->属性  或  (*<指针名>).属性  取值

本文来自投稿,不代表来拓客立场,如若转载,请注明出处:https://www.laituoke.com/ltk/6360.html