吃一天少一天 2021-04-30 16:22 采纳率: 85.7%
浏览 39
已采纳

传入首地址用值传递的符,到底是地址传递还是值传递

#include<iostream>
using namespace std;

struct xueshen
{
    string name;
    int score;
};
struct teacher
{
    string name;
    struct xueshen sarr[5];

};
void hain(teacher asarr[], int len)
{
    string name = "ABCDE";
    for (int i = 0; i < len; i++)
    {
        asarr[i].name = "teacher_";
        asarr[i].name += name[i];
        for (int j = 0; j < 5; j++)
        {
            asarr[i].sarr[j].name = "xueshen_";
            asarr[i].sarr[j].name += name[j];
            int random = rand() % 61 + 40;
            asarr[i].sarr[j].score = random;
        }
    }
};
void shuc(teacher asarr[], int len)        // 很好奇,asrra[]这个是地址传递进去的
{
    for (int i = 0; i < len; i++)
    {
        cout << "老师的名字是:  " << asarr[i].name << endl;  //这里的输出没有用->而是 .  所以这到底是什么
        for (int j = 0; j < 5; j++)
            cout<< "\t学生的名字是 :" << asarr[i].sarr[j].name << "考试分数为: "<<asarr[i].sarr[j].score << endl;
    }
}
int main() {
    teacher  asarr[3];
    int len = sizeof(asarr) / sizeof(asarr[0]);
    hain(asarr, len); 
    shuc(asarr, len);
   /* for (int a = 0; a < 3; a++)                  //因为想看到底是值传递还是地址传递所以进行输出,,,结果不会了
    {
           for (int b = 0; b < 5; b++) 
           {
            cout << "老师的名字是:  " << asarr[a] << endl;    //报错
        }
    }*/
    system("pause");
    return 0;
}

 

这里是在做一道练习题,关于一个老师带五个学生,随机数的分数

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2021-04-30 16:30
    关注

    cout << "老师的名字是:  " << asarr[a].name << endl;   ---asarr[a]是teacher数据结构,老师名字是数据结构中的一个成员

    void shuc(teacher asarr[], int len)        第一个参数是一个数组参数,实际就是个指针,但要求是指向teacher数据结构的

    cout << "老师的名字是:  " << asarr[i].name << endl;  //这里的输出没有用->而是 .  所以这到底是什么

    asarr[i]是teacher数据结构,所以用.

    teacher *p = &asarr[i];

    p->name;

    这样才是用->,前面必须是指针对象

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?