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

参考技术A 时间的加减要考虑到很多因数,月的天数不同,闰年的2月天数等。 参考技术B 你可以在time.h使用相关函数去做本回答被提问者采纳

以上是关于C语言data->time = c该怎么解释,我对->符号弄的不是很明白的主要内容,如果未能解决你的问题,请参考以下文章

C语言程序怎么设计日期?

c语言怎么刷新输出时间

请问C语言中clock()函数该怎么用?

C语言中,time()返回值那一串数字是啥啊,怎么获取时间差啊

在c语言中如何获取当前日期?

c语言分别获得系统时间