传值传址。以及结构体的知识点 例题

Posted 吴皓杰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了传值传址。以及结构体的知识点 例题相关的知识,希望对你有一定的参考价值。

一传值 

传值:将变量名中存放的值进行传输
      

传值
        public void Hanshu(int a)
        {
            a += 10;
           
        }

主函数里写

  Program hanshu = new Program();

hanshu.Hanshu(a);

_______________________________________________________________________________________________________________________________

二。传址

传址:将这个变量名直接传输过去,
            若在另一边有赋值情况,这边的值会发生变化

  public void hanshu1(int a , out int b,out int c)
        {
            //int c = a + b;
            b = a + 10;
            c = b;
           
        }

主函数里写

 Program hanshu = new Program();

 int a = 5;
            int rr;
            int tt;
            hanshu.hanshu1(a,out rr,out tt);
            Console.WriteLine(rr);

用out的传址。一般用不到。

________________________________________________________________________________________________________________________________

三,利用split分割然后利用遍历集合输出。一串字符串的形式

写个函数,传值进去,传姓名、性别、年龄进入
        //将年龄+10岁
        //反馈回来
        public string Fanhui(string name , string sex,int age)
        {
            age += 10;
            return name + "-"+sex +"-"+ age;
        }

主函数里写

string s = hanshu.Fanhui("张三","男",33);
string[] aa = s.Split(‘-‘);
foreach(string q in aa)
       {
            Console.WriteLine(q);
        }

________________________________________________________________________________________________________________________________

结构体

结构体:自定义类型    值类型
        一组变量的组合
        需要定义的位置   class里面   main函数外面
        里面包含的变量可以是多种数据类型的

________________________________________________________________________________________________________________________________

例题

学生信息的结构体:学号、姓名、性别、分数
        struct Student
        {
            public int xuehao;
            public string name;
            public string sex;
            public Score score;
        }

主函数内写

ArrayList al = new ArrayList();
            Console.Write("请输入班级人数:");
           int a = int.Parse(Console.ReadLine());
            for (int i = 0; i < a;i++ )
            {
               Student sst = new Student();
               Console.Write("请输入第{0}个学生的学号:",(i+1));
                sst.xuehao = int.Parse(Console.ReadLine()) ;
                Console.Write("请输入第{0}个学生的姓名:", (i + 1));
               sst.name = Console.ReadLine();
                Console.Write("请输入第{0}个学生的性别:", (i + 1));
                sst.sex = Console.ReadLine();
               Console.Write("请输入第{0}个学生的分数:", (i + 1));
                sst.score = double.Parse(Console.ReadLine());
               al.Add(sst);
            }
            Console.WriteLine("所有人员信息输入完毕!请按回车键开始打印!");
            Console.ReadLine();

            for (int i = 0; i < al.Count;i++ )
            {
                Student sst = (Student)al[i];
               Console.WriteLine("第{0}个学生的学号是:{1},姓名是{2},性别是{3},分数是{4}。",(i+1),sst.xuehao,sst.name,sst.sex,sst.score);
            }

________________________________________________________________________________________________________________________________

 

以上是关于传值传址。以及结构体的知识点 例题的主要内容,如果未能解决你的问题,请参考以下文章

传值传址 结构体

传值传址结构体

10月19日--传值传址结构体

C语言结构体(传值vs传址)

C语言 - 结构体初识

php函数值传值/地址以及引用的用法