首页 > 编程知识 正文

c语言结构体成员指针,c语言结构体函数指针

时间:2023-05-05 04:43:16 阅读:110172 作者:4300

一.结构定义

结构结构{//结构名称

长整型id; //数据类型成员名称1

char studentName[10]; //数据类型成员名称2

int scoreMath; //数据类型成员名称3

(;

二.结构变量的定义

1声明结构模板,然后定义结构变量

结构结构{//结构名称

长整型id; //数据类型成员名称1

char studentName[10]; //数据类型成员名称2

int scoreMath; //数据类型成员名称3

(;

struct student stu1; //结构变量1

struct student stu2; //结构变量1

2在声明结构体模板的同时定义结构体变量

结构结构{//结构名称

长整型id; //数据类型成员名称1

char studentName[10]; //数据类型成员名称2

int scoreMath; //数据类型成员名称3

}stu1; //结构变量

3在声明结构体模板的同时定义结构体变量,可以省略结构体名称。

结构{//struct结构名称

长整型id; //数据类型成员名称1

char studentName[10]; //数据类型成员名称2

int scoreMath; //数据类型成员名称3

}stu1; //结构变量

三.用tyepedef定义数据类型

关键字typedef用于定义特定于系统或程序员自定义的数据类型的别名。

例如,typedef int STU; 在int中定义了新的名称STU。 也就是说,STU是int的同义词。

#包含

typedef int STU;

void main () }

STU a=1,b=2,temp=0;

temp=a;

a=b;

b=temp;

printf(%d%d )、a和b );

}

所以typedef struct student STUDENT; 等效于以下表示别名。

类型结构struct student {//struct结构名称

长整型id; //数据类型成员名称1

char studentName[10]; //数据类型成员名称2

int scoreMath; //数据类型成员名称3

} STUDENT; //别名

STUDENTstu1、stu2; //变量

STUDENT STU[2]; //结构数组变量的定义

四.结构变量初始化(包括结构数组)

STUDENT stu1={2019001,'小jpdwd ',100};

STUDENT stu2={2019002,' xsdwbl ',90};

STUDENT STU[2]={{2019001,'小jpdwd ',100},{2019002,' xsdwbl ',90}; //结构数组变量的赋值

五、嵌套结构(一个结构作为自己的成员嵌套另一个结构) (包括结构数组) )。

1定义

typedef struct data{

年; //年

int month; //月

输入日期; //天

}DTAE;

类型结构struct student {//struct结构名称

长整型id; //数据类型成员名称1

char studentName[10]; //数据类型成员名称2

int scoreMath; //数据类型成员名称3

DTAE birthday; //生日

} STUDENT; //别名

STUDENT stu1;

STUDENT stu2;

STUDENT STU[2];

2赋值

STUDENT stu1={2019001,'小jpdwd ',100,{ 1998,12,26 };

STUDENT stu2={2019002,' xsdwbl ',90,{ 1991,12,25 };

STUDENT STU[2]={{2019001,'小jpdwd ',100,{ 1998,12,26 },{2019002,' xsdwbl ',90,{ 1991,12,25 } }

3引用(呼叫) )

结构名称变量名称**.**不是成员名称//结构名称

stu1.birthday.year=1991;

stu2.scoreMath=100;

STU[0].studentID=2019001;

通过键盘分配时,不需要添加char类型

scanf('%c”,stu1.studentName );

六.结构指针的定义和初始化

1结构名称*指针变量名称

STUDENT *pt;

2定义并初始化

STUDENT *pt=stu1; //结构指针变量pt指向结构变量stu1

上下两者等价

STUDENT *pt;

pt=stu1;

3标准访问格式

指针结构变量名称——成员名称

pt-birthday;

另一个不经常使用

(pt ).studentID;

4访问数组

以下三个是等价的

STUDENT *pt=STU; //指向数组STU中第一个元素的地址

STUDENT *pt=STU[0];

STUDENT *pt;

pt=STU;

4结构指针一般不用于输出。 以下是普通指针的输出

int a=9

int *pt;

pt=a;

printf('%d ',*pt );

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。