example11.5.cpp 结构体指针变量做函数形参

本文介绍了一个使用C++实现的学生信息输入输出程序。该程序定义了一个名为student_type的结构体,用于存储学生的编号、姓名及三门课程的成绩,并通过函数实现这些信息的读取与显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<iostream>
#define FORMAT "%d\n%s\n%d\n%d\n%d"
using namespace std;
struct student_type{
           int num;
           char name[10];
           int score[3];
            };
int main(){
    void print(struct student_type *);
    struct student_type stu;
    /*stu.num=1002;
    strcpy(stu.name,"lily");
    stu.score[0]=12;
    stu.score[1]=44;
    stu.score[2]=67;*/
    scanf("%d%s%d%d%d",&stu.num,stu.name,&stu.score[0],&stu.score[1],&stu.score[2]);
    print(&stu);
    
    system("pause");
    return(0);
    
    }
 void print(struct student_type * p)
 {
      printf(FORMAT,p->num,p->name,p->score[0],p->score[1],p->score[2]);
      printf("\n");
      }   

结构体数组变量.结构体数组长度这个表述可能存在一些误导或者语法错误,让我们先澄清一下: ### 结构体数组 假设我们有一个简单的结构体定义以及基于它的数组声明,在 C 语言中可能是这样的形式: ```c struct Example { int id; char name[50]; }; // 定义了一个包含三个元素的Example类型的结构体数组 struct Example examplesArray[3]; ``` 在这个例子中,`examplesArray`就是“结构体数组”的变量名称。 但是,“结构体数组变量.结构体数组长度”这种写法并不是合法的标准C/C++代码表达。如果你想要获取一个已知大小(即编译时常量确定了大小)的普通一维数组(包括结构体型)的元素个数,可以这样: #### 对于全局或静态分配的一维数组 (例如上面的例子): ```c int length = sizeof(examplesArray)/sizeof(struct Example); ``` 这里 `length` 将会等于 `3`. 而如果你想动态地创建并管理一个结构体数组,并且需要跟踪其实际占用的有效项数目,则通常会在程序设计上另外维护一个计数器来记录有效条目的数量,因为对于通过指针操作的新式内存分配来说(`malloc`, `new`)是没有内置机制能够直接查询到当前存储了多少个对象实例的. 综上所述,"结构体数组变量名"代表的是整个数据集合的名字;至于说"结构体数组长度",如果是指物理空间里能存放多少个元素的话,可以用上述提到的方式计算得到,但这不是一种标准的语言特性而是程序员利用特定规则推导出来的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值