#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也可以

说是一个数据类型

最新文章

  1. 后台程序员的HTTP缓存
  2. tone mapping简介
  3. jira与readmine区别
  4. leetcode:Swap Nodes in Pairs
  5. 集合框架null与size=0
  6. hdu5269 ZYB loves Xor I
  7. angularJS实战(一)
  8. 让44.1版本的sketch打开更高版本的sketch文件
  9. 关于vue的域名重定向和404
  10. Python3 Flask+nginx+Gunicorn部署(上)
  11. mazing ASP.NET Core 2.0【转】
  12. export及export default
  13. mysql条件查询-排除null ---oracle、mysql 区分总结
  14. c# Color 颜色设置
  15. .net反编译工具
  16. /bin/sh^M: bad interpreter:没有那个文件或目录解决
  17. NodeJS之 Express框架 app.use(express.static)
  18. 2.7 usb摄像头之usb摄像头描述符打印
  19. Python面试应急5分钟!
  20. Winform 子窗体设置刷新父窗体

热门文章

  1. 【前端阅读】——《活用PHP、MySQL建构Web世界》摘记之高级应用
  2. imagemagick imagick
  3. OSX:设置用户默认浏览器
  4. PL/SQL Developer 和 instantclient客户端安装配置
  5. iOS - 贝塞尔曲线,折线,曲线,波浪线
  6. python实现区块链代码
  7. 【强网杯2018】逆向hide
  8. 效率提升最重要的原则 - Doing one thing at a time
  9. Redis闲谈(1):构建知识图谱
  10. iOS开发系列--让你的应用“动”起来【转载】