C编程核心技术1——结构体struct

Reference:

 

《狂人C——程序员入门必备》

 

================================

 

1) 结构体struct跟数组、指针一样,此3哥们都是自定义数据类型。

2)自定义之后,享有同int、char等普通数据类型同等操作待遇。

 

================================

 

编程实例代码:

 

参考Reference中时间累积编程重写。

 

Platform environment:

 

CentOS 5.5 +GCC 4.1

 

================================

 

Code as follows:

 

 #include <stdio.h>

#define secMax 60
#define minMax 60
#define hourMax 24

struct timeHMS
{
  int second;
  int minute;
  int hour;
};

struct timeHMS timeAdd(struct timeHMS timeInit,struct timeHMS timeIncrease)
{
  struct timeHMS timeFinal;

  timeFinal.hour=timeInit.hour+timeIncrease.hour;
  timeFinal.minute=timeInit.minute+timeIncrease.minute;
  timeFinal.second=timeInit.second+timeIncrease.second;


  timeFinal.minute+=timeFinal.second/secMax;
  timeFinal.second%=minMax; // the final second value here

  timeFinal.hour+=timeFinal.minute/minMax;
  timeFinal.minute%=minMax; // the final minute value here

  timeFinal.hour%=hourMax; // the final hour value here

  return timeFinal;

};//timeAdd

int main()
{
  struct timeHMS timeNow;
  struct timeHMS timeInc;
  struct timeHMS timeLater;

  timeNow.hour=22;
  timeNow.minute=59;
  timeNow.second=58;

  timeInc.hour=5;
  timeInc.minute=48;
  timeInc.second=39;

  printf("time now is %d HH %d MM %d SS:/n",timeNow.hour,timeNow.minute,timeNow.second);
  printf("time after:%d HH %d MM %d SS is:/n/n/t/t",timeInc.hour,timeInc.minute,timeInc.second);


  timeLater= timeAdd(timeNow,timeInc);

  printf("/t/t%d HH /t/t%d MM /t/t%d SS",timeLater.hour,timeLater.minute,timeLater.second);

  return (0);

}//main

 

===========================================

上述程序经过5分钟排错,可以跑起来,有利于掌握C结构体学习。

运行结果如下:

 

//我暂时没权限上传图片,一周之后可以,^_^。

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值