结构变量

1.结构变量

1.1 结构变量的声明

例如:

        struct student {

             int id;

             char name;

             int score;

         }  part1 ,part2;

结构变量声明如此,其中的part1,part2是具有这样结构的两个变量,

part1,part2可以放在下面语句定义,但华括号后必须有分号表明结构

变量的声明。

1.2 结构变量的初始化

        struct student {

 

             int id;

 

             char name;

 

             int score;

 

         }  part1 = {2000,“Li”,85},

            part2 = {2001,“Wang”,90};

类似变量part1,part2可以在后面语句定义

part1 = {2000,“Li”,85}等价于part1{.id = 2000,.name = "Li", .score = 85}

1.3 对结构的操作  

输出输入  printf("part1 id: %d",part1.id);  

                 printf("part2 score: %d",part2.score);

                 scanf("%s",&part1.name);

可以用   .    来指定变量中的成员来进行操作

                 part1.id++;

• 要访问整个结构,直接⽤结构变量的名字

• 对于整个结构,可以做赋值、取地址,也可以 传递给函数参数

• p1 = (struct point){5, 10}; // 相当于p1.x = 5; p1.y = 10;

• p1 = p2; // 相当于p1.x = p2.x; p1.y = p2.y;

数组⽆法做这两种运算

2 结构指针,结构与函数

2.1 结构指针

struct student *ppart1 = &part1;

*(ppart1).id = 5可以用->表示,ppart1-> = 5;

 这就定义了一个结构指针

2.2 结构与函数

 

 在函数中改变main函数中传给函数的值,函数中对结构变量的值不改变;

如果传入的是结构指针,对函数中结构变量值改变,main函数中的结构变量能改变;

 

posted @ 2021-11-28 19:30  newerbuteffoting  阅读(362)  评论(0编辑  收藏  举报