程序员之路:C语言typedef和struct
学习C语言的时候,发现typedef和struct这个有点迷糊,继续学习,发现也不是特别难,正好抽时间总结一下。
1、首先看个例子:
//typedef与struct
#include <stdio.h>
#include <string.h> //使用strcpy();
//结构定义,Student是一个Tag标签,区分其他结构
struct Student
{
char name[50];
int age;
float score;
};
int main(){
// 声明
struct Student student;
// 使用赋值
strcpy(student.name,"Tom");
student.age=25;
student.score=99.0;
// 使用读取
printf("student.name : %s\n",student.name);
printf("student.age : %d\n",student.age);
printf("student.score : %.2f\n",student.score);
return 0;
}
不难看出,我在main函数之前定义了一个struct Student结构,存储学生的姓名,年龄,分数
注意:struct Student结构大括号{}后面有一个分号“;”,相当于一条语句。
main函数中,对struct Student结构进行了使用
2、下面继续:
//typedef与struct
#include <stdio.h>
#include <string.h> //使用strcpy();
//结构定义,Student是一个Tag标签,区分其他结构
struct Student
{
char name[50];
int age;
float score;
} student;//变量
int main(){
// 使用赋值
strcpy(student.name,"Tom");
student.age=25;
student.score=99.0;
// 使用读取
printf("student.name : %s\n",student.name);
printf("student.age : %d\n",student.age);
printf("student.score : %.2f\n",student.score);
return 0;
}
这个例子,和第1个例子中,区别在于:
(1)struct Student结构大括号后面多了一个student(注意大小写,c语言区分大小写);
(2)main函数中,我并没有单独声明student,就直接使用了。其实,在定义的时候,student(小写)就是声明的变量;
其实这两种方式是一样的。
3、看第三个例子
//typedef与struct
#include <stdio.h>
#include <string.h> //使用strcpy();
//结构定义,Student是一个Tag标签,区分其他结构
typedef struct Student
{
char name[50];
int age;
float score;
} Student;//别名
int main(){
//申明
Student student;
// 使用赋值
strcpy(student.name,"Tom");
student.age=25;
student.score=99.0;
// 使用读取
printf("student.name : %s\n",student.name);
printf("student.age : %d\n",student.age);
printf("student.score : %.2f\n",student.score);
return 0;
}
例子中,多加了一个typedef,相当于给struct Student 取了一个别名:Student,这个例子就和第1个例子很像了,只是申明的时候少写了一个struct
例2,和例3,同样在struct大括号后面写的字符串,例2表示:变量,例3表示:别名
4、当然,也可以使用指针
//typedef与struct
#include <stdio.h>
#include <string.h> //使用strcpy();
//结构定义,Student是一个Tag标签,区分其他结构
typedef struct Student
{
char name[50];
int age;
float score;
} Student;//别名
int main(){
//申明
Student student;
Student *pStudent=&student;
// 使用赋值
strcpy(pStudent->name,"Tom");
pStudent->age=25;
pStudent->score=99.0;
// 使用读取
printf("student.name : %s\n",pStudent->name);
printf("student.age : %d\n",pStudent->age);
printf("student.score : %.2f\n",pStudent->score);
return 0;
}
好了,先写到这里,以后再补充,欢迎大家批评指正。
欢迎交流 博主QQ:1940607002
程序员之路:C语言typedef和struct相关推荐
- 程序员之路──如何学习C语言并精通C语言
程序员之路──如何学习C语言 学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通.如何以最小的代价学习并精通C语言是本文的主题.请注意,即使是"最小的代价",也绝不是什么 ...
- 程序员感悟----路该怎么走
有一句话我一直记得很深,"当人深处迷茫之中时早已不再迷茫".很绕很矛盾的话,也可能有人听到后会马上跳脚喊,我一直迷茫怎么还是迷茫呢?呵呵.静一下想一下再喊. 大家都这么大了,路该怎 ...
- 程序员之路,蛇年快加速!
转眼一年时间又过去了,时间如弹指间灰飞烟灭,程序员之路,却在缓慢加速... 春节,或许你没有回家,继续奋斗在开发一线上:或许你回家却被亲人朋友拷问了一把,想必清醒了许多,对未来思虑更多. 但凡春节过后 ...
- 程序员怎么看待C语言?最伟大?最落后?
一,前言 对我来说,C语言应该可以算得上是世界上最伟大的编程语言.全中国口气最大的程序员,业界称之为"垠神",曾经发过文章吐槽过业界各种主流的编程语言(对Java,的Python稍 ...
- CSDN学霸课表——2017年PHP程序员未来路在何方
<2017年PHP程序员未来路在何方> PHP 从诞生到现在已经有20多年历史,从Web时代兴起到移动互联网退潮,互联网领域各种编程语言和技术层出不穷, Node.js . Go . Py ...
- 【转】基础的重要性(程序员之路) 经验分享15篇
原文链接:基础的重要性(程序员之路) 基础的重要性(程序员之路) 学习编程有几年了,感觉走了不少弯路,而不少的学弟学妹又在重蹈我当初的覆辙,不免有些痛心.最近在网上也看了许多前辈们的经验建议,再结合自 ...
- 一个老程序员的程序员之路
一个老程序员的程序员之路 写在前面 老程序员老了,已经写不动了,但是我依然深爱着程序员这个职业,谨以此文与那些渴望成为程序员的年轻一代闹闹科. 也许我们都曾经年轻,但是总会年轻不再,所 ...
- 从测试的角度来重新反思我们自己的程序以及我们的程序员之路——“通过追本溯源来进行前瞻性思考”...
从测试的角度来重新反思我们自己的程序以及我们的程序员之路--"通过追本溯源来进行前瞻性思考" 最近比较忙,而且情绪上有些浮动,但控制的非常好.这几天协会搞一个编程比赛,部分的题目是 ...
- 程序员应该学习C语言的十个理由
程序员应该学C语言的十个理由的文章说:每个程序员在他们的编程事业生涯当中都应该学C语言.C语言有太多不容忽视的好处.它不仅可以带来更多的工作机会,而且也会在总体上让你对计算机有更多的了解. 1)相对于 ...
- 好程序员Java分享SQL语言之索引
好程序员Java分享SQL语言之索引,前言:本章我们将学习MySQL中的索引,本文将从索引的作用.索引的分类.创建索引的语法.索引的使用策略以及索引的实现原理等方面带大家了解索引. 索引的作用 索引的 ...
最新文章
- 分布式RPC框架性能大比拼 dubbo、motan、rpcx、gRPC、thrift的性能比较
- eWebEditor不支持IE8的解决方法
- 一个非常巧妙的 hashcode 算法 return h (length-1);
- git 创建webpack项目_Webpack入门:从安装到配置
- mysql 触发器计算总价,mysql’插入’触发器根据其他字段计算字段
- 计算器排html页面,htmltest~计算器界面的实现
- c语言程序设计电子图书 汉诺塔,用C写的汉诺塔(hanoi)程序
- 前端:CSS/13/HTML引入CSS的方法,CSS表格属性,盒子模型,上下外边距合并
- GET和POST本质区别
- 稳定排序与不稳定排序
- 3PAR存储双活LUN扩容方法
- [C#] 软硬结合第二篇——酷我音乐盒的逆天玩法
- postgresql中实现按周统计详解
- 遗传算法(Java模拟)
- aop:aspectj-autoproxy
- Linux系统安全以及应用
- TO_DATE()函数?
- js元素offset与client
- Unity3D学习记录——NGUI Sprit
- java程序员建议考软考中级的哪一个证书