首页 > 其他分享 >《初学C语言第14天》

《初学C语言第14天》

时间:2023-12-03 16:31:50浏览次数:31  
标签:tmp ps Print2 14 C语言 初学 printf sex name

////结构体成员的访问

//#include<stdio.h>

//typedef struct stu

//{

// //成员变量

// char name[20];

// short age;

// char tele[12];

// char sex[7];

//}Stu;

//void Print1(Stu tmp)//形参tmp//形参是实参的一份临时拷贝,且此块空间放到其他的位置上即tmp位置上(存在空间浪费)

//{

// printf("name:%s\n",tmp.name);

// printf("age:%d\n", tmp.age);

// printf("tele:%s\n", tmp.tele);

// printf("sex:%s\n", tmp.sex);

//}

//void Print2(Stu* ps)//指针ps//此处只需创建一个4字节(32位)或8字节(64位)的指针变量ps

//{

// printf("name:%s\n", ps->name);

// printf("age:%d\n", ps->age);

// printf("tele:%s\n", ps->tele);

// printf("sex:%s\n", ps->sex);

//}

//int main()

//{

// Stu s = { "李四",22,"15312312655","男" };

// //打印结构体数据

// //Print1和Print2哪个更好?

// // 答:Print2更好

// //理由:Print2的系统开销(地址占用)更小函数传参的时候,参数是需要压栈的。

// //如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,所以会导致性能的下降。

// //压栈:向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素

// Print1(s);//实参s

// Print2(&s);//地址&s传参(传地址{无论结构体多大,我们只传4字节(32位)或8字节(64位)})到指针ps  

// //Print1(s)和Print2(&s)为封装函数

// //封装函数:基础函数的封装就是将代码中需要的代码打包,并将这个包裹命名。

// // 在后续程序中,我们直接使用这个包裹,而不需要重新编写一段代码

// //这是一个简单的不传参数的函数。通过函数名加括号我们可以调用对应的函数。

// return 0;

//}

////结论:结构体传参的时候,需要传结构体的地址

//压栈

标签:tmp,ps,Print2,14,C语言,初学,printf,sex,name
From: https://blog.51cto.com/KKhahaha/8668619

相关文章

  • C语言基础知识
    C语言的特点关键字(32个):auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register、return、short、signed、static、sizeof、struct、switch、typedef、union、unsigned、void、volatile、while......
  • 力扣---1423. 可获得的最大点数
    几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大......
  • 【C语言】自定义类型:结构体
    1、结构体类型的声明1.1、结构体的概念结构是⼀些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。1.2、结构的声明structtag{member-list;}variable-list;在一般情况下,tag、member-list、variable-list这3部分至少要出现2个。以下为实例://此声明......
  • C语言冒泡排序法
    引言冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。冒泡的实现在细节上可以有很多种变化。最简单排序实现/*对顺序表L做交换排序*/voidBubbleSortO(SqList*L){ inti,j;for(i=1;i<L->length;i++) { fo......
  • 2023-2024-1 20231421 《计算机基础与程序设计》第十周学习总结
    ------------恢复内容开始------------------------恢复内容开始------------------------恢复内容开始------------------------恢复内容开始------------------------恢复内容开始------------------------恢复内容开始------------------------恢复内容开始------------......
  • 极语言3-14网页框——对象使用,浏览对象可执行命令表,新快捷对象——方法表
    网页框——对象使用对象浏览=浏览器对象; 申请一个浏览器对象的变量程序段窗体启动; 在程序段内控制网页框对象  浏览=控件对象网页框1; 获取网页框的浏览器对象  浏览.改静默(1); 控制网页框的浏览器对象不显示对话提示  浏览.连接("`https://www.baidu.com/",0,0,0,......
  • 2023-2024-1 20231416《计算机基础与程序设计》第十周学习总结
    作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK10这个作业的目标自学《计算机科学概论》第十二、十三、十四章,《C语言程序设计》第九章并完成云班课测试......
  • 2023-2024-1 20232314《网络空间安全导论》第四周学习总结
    教材内容学习总结 教材学习中的问题和解决过程问题1:对于威胁建模的具体概念理解解决方案:询问Chatgpt,得知威胁建模是一种基于工程和风险的方法,旨在识别、评估和管理安全威胁,以开发和部署符合企业组织安全和风险目标的更好软件和IT系统。这个过程可以分为几个阶段:威胁识别、......
  • 2023-2024-1 20231417 《计算机基础与程序设计》第十周学习总结
    2023-2024-120231417《计算机基础与程序设计》第十周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十周作业这个作业的目标自学计算机科学概论第12,13,14章,《C语言程序设计》第9章......
  • C语言概述
    1.为什么要学习C语言1>.C语言的起源和发展程序设计语言的发展:机器语言(低级语言)——汇编语言(中级语言)——高级语言低级语言:使用的是一串二进制代码中级语言:使用助记符(英文单词)来代替一串二进制代码(容易记忆,不容易出错)高级语言:......