学习c语言的第14天
#include <stdio.h>
#include <string.h>
struct student
{
int age;
char sex;
char name[100];
};
void input(struct student *);
void output(struct student ss);
int main(void)
{
struct student st;
input(&st);
output(st);
return 0;
}
void output(struct student ss)
{
printf("%d %c %s\n",ss.age, ss.sex, ss.name);
}
void input(struct student *pstu)
{
(*pstu).age=10;
strcpy(pstu->name, "张三");
pstu->sex='M';
}
input(&st); 对结构体变量输入,必须发送st的地址
output(st); 对结构体变量输出,可以发送st的地址也可以直接发送st的内容
这个程序的功能是通过函数完成对结构体的输入输出
#include <stdio.h>
#include <string.h>
struct student
{
int age;
char sex;
char name[100];
};
void input(struct student *);
void output(struct student *);
int main(void)
{
struct student st;
printf("%d\n",sizeof(st));
input(&st);
output(&st);
return 0;
}
void output(struct student *pst)
{
printf("%d %c %s\n",pst->age, pst->sex, pst->name);
}
void input(struct student *pstu)
{
(*pstu).age=10;
strcpy(pstu->name, "张三");
pstu->sex='M';
}
上面这个程序体现了指针的优点,printf("%d\n",sizeof(st)); st占用了108个字节,output(&st); &st是个地址变量只占8个字节,如果是发送
内容像前面一个程序写成oupt(st); 则此时st占用了108个字节,这样就浪费了内存空间,也使传输速度变慢,因为output(st); 中的st传递
到void output(struct student ss)需要传108个字节,而改为指针的话只需8个字节
#include<stdio.h>
enum weekday
{
monday, tuesday, wednesday, thursday, friday, saturday, sunday
};
int main(void)
{
enum weekday day=monday;
printf("%d\n",day);
return 0;
}
这是一个枚举例子,输出的是0,如果是tuesday则是1,依次类推enum weekday 是一个数据类型,前面的数据结构体struct student也可以
说是一个数据类型
学习c语言的第14天的更多相关文章
- 新学习的语言Groovy
什么是 Groovy? Groovy 是 JVM 的一个替代语言 —替代 是指可以用 Groovy 在 Java 平台上进行 Java 编程,使用方式基本与使用 Java 代码的方式相同.在编写新应用 ...
- 学习swift语言的快速入门教程推荐
随着苹果产品越来越火爆,苹果新推出的swift必定将在很大程度上代替oc语言.学好swift语言,对于IOS工程师来讲,已经是一门必备技能. 有一些比较好的英文版教程,值得学习. 1. Swift T ...
- 学习c++语言应该牢记的50条准则,同样学习其他语言也一样
1.把C++当成一门新的语言学习(和C没啥关系!真的.): 2.看<Thinking In C++>,不要看<C++变成死相>: 3.看<The C++ Programm ...
- 学习go语言编程系列之定义变量
package main import ( "fmt" "math") func main() { // 1. 定义变量名age,不初始化,使用对应类型的默认值 ...
- 学习C语言以及C语言基础调查
学习声乐的心得 你有什么技能比大多人(超过90%以上)更好? 就我个人而言,在所有的兴趣之中,做得比较好的应该属于声乐. 针对这个技能的获取你有什么成功的经验? 我对于声乐处始于兴趣,成功的经 ...
- [转载]学习C语言基本思路与参考书籍
http://zhuanlan.zhihu.com/linjr/19694823 计算机行业发展非常快,大学里的教育基本都跟不上实际的社会需求.如果你所在的学校还在指定大家使用谭浩强的教材,或使用VC ...
- 《手把手教你学C语言》学习笔记(2)---学习C语言的目标和方法
一.学习C语言的目标主要是: 熟练掌握C语言的关键字,语法规则,程序控制等: 掌握基本的数据结构,数组.链表.栈和队列等: 掌握C语言中指针和内存.数组与指针.函数与指针.变量和指针.结构体和指针.硬 ...
- (转)学习C语言基本思路与参考书籍
计算机行业发展非常快,大学里的教育基本都跟不上实际的社会需求.如果你所在的学校还在指定大家使用谭浩强的教材,或使用VC6.0来教大家上机实验,那你不妨看看本文,这里有一些建议可以帮助你不会脱离社会太远 ...
- 我想立刻辞职,然后闭关学习编程语言,我给自己3个月时间学习C语言!这样行的通吗
文章背景,回答提问:我想立刻辞职,然后闭关学习编程语言,我给自己3个月时间学习C语言!这样行的通吗? 我的建议是这样:1. 不要辞职.首先说,你对整个开发没有一个简单的了解,或一个系统的入门学习.换句 ...
随机推荐
- 性能测试脚本开发(C&C#&Java)
一.C语言实现及相关问题解决 LR:C函数-功能描述 LR:C函数-适用范围 LR:C函数-头信息传递 LR:C函数-字符串编码转换 lr_convert_string_encoding(" ...
- Odoo11 新功能 : 栏位隐藏
Odoo11增加了一个 新的 modifier-. 先上 前端框架代码 invisible / readonly / required 这几个 是经常在用的, column_invis ...
- 利用window.navigator.userAgent判断当前是否微信内置浏览器
<!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8&quo ...
- STL源代码剖析 容器 stl_vector.h
本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie vector --------------------------------------- ...
- Laravel 5.4---后端数据分页和前端显示分页结果
后端数据(Eloquent 模型)分页 事先建立好Eloquent 模型和Controller 还有 前台的View.可以参考我之前的文章:Laravel建站03--建立前台文章列表和文章详情 在co ...
- CSU - 1556 Jerry's trouble(高速幂取模)
[题目链接]:click here [题目大意]:计算x1^m+x2^m+..xn^m(1<=x1<=n)( 1 <= n < 1 000 000, 1 <= m < ...
- c#线程顺序执行
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- 有关SQL注入的知识
SQL注入攻击是非常令人讨厌的安全漏洞,是所有的web开发人员,不管是什么平台,技术,还是数据层,需要确信他们理解和防止的东西.不幸的是,开发人员往往不集中花点时间在这上面,以至他们的应用,更糟糕的是 ...
- Erlang服务器内存吃紧的优化解决方法
问题提出:服务器100万人在线,16G内存快被吃光.玩家进程占用内存偏高 解决方法: 第一步:erlang:system_info(process_count). 查看进程数目是否正常,是否超过了er ...
- HDU 5338(ZZX and Permutations-用线段树贪心)
ZZX and Permutations Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/O ...