C语言data->time = c该怎么解释,我对->符号弄的不是很明白
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言data->time = c该怎么解释,我对->符号弄的不是很明白相关的知识,希望对你有一定的参考价值。
data是结构体或联合体的指针变量,->就是给这类指针准备的,用于访问他们的成员变量。比如:
struct student
char name[20];
int age;
;
struct student a,*p=&a;
strcpy(a.name,"apple");
a.age=10;
printf("%s %d",p->name,p->age);
对于结构变量a,使用点操作符访问成员,如a.name, a.age
对于结构指针变量p,使用指向操作符,如p->name, p->age 参考技术A 这个符号是指向结构体成员的运算符。在这里data—>time表示的意思是data指向结构体变量中的time成员,这句语句相当于(*data).time=c,在c语言中为了使用方便和直观,允许把(*p).num用p—>num来代替。(其中p为一个指向结构体的指针变量)详细讲解请见《c程序设计(第四版)》(谭浩强)第304面(讲的特别详细)。希望对你有所帮助。 参考技术B data->time = c; 和 (*data).time = c;是等价的,因为C里面经常要访问结构体指针的成员,所以就有了-> 符号,写的更快。 参考技术C data是一个结构体指针,指向一个结构体数据,通过指针访问结构体成员的时候要用->符号。
语句的意思就是给data指向的结构体的time成员赋值c 参考技术D time是data的成员,->操作符是找到data中的time成员,然后把c复制给这个成员
c语言时间函数的具体使用方法,时间的加减
#include <stdio.h>#include <time.h>
int main()
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf ( "The current date/time is: %s", asctime (timeinfo) );
return 0;
说明:
time_t // 时间类型(time.h 定义)
struct tm // 时间结构,time.h 定义如下:
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
time ( &rawtime ); // 获取时间,以秒计,从1970年1月一日起算,存于rawtime
localtime ( &rawtime ); //转为当地时间,tm 时间结构
asctime() // 转为标准ASCII时间格式:
//就是直接打印tm,tm_year 从1900年计算,所以要加1900,月tm_mon,从0计算,所以要加1
以上是关于C语言data->time = c该怎么解释,我对->符号弄的不是很明白的主要内容,如果未能解决你的问题,请参考以下文章