gpt4 book ai didi

c - 为什么 C 有这么多不同的类型?

转载 作者:太空狗 更新时间:2023-10-29 14:50:40 26 4
gpt4 key购买 nike

<分区>

我写了一个简单的计时器函数来计算开始结束之间耗时

double mytimer(struct timeval *start, struct timeval *end)
{
return (end->tv_sec - start->tv_sec) + (end->tv_usec - start->tv_usec)*1e-6;
}

gcc 给出以下警告:

warning: conversion to ‘double’ from ‘__suseconds_t’ may alter its value
warning: conversion to ‘double’ from ‘__time_t’ may alter its value

这里是timeval的定义:

struct timeval {
time_t tv_sec; /* seconds */
suseconds_t tv_usec; /* microseconds */
};

所以我的问题是,为什么 C 定义了这么多不兼容 类型,而不是简单地使用原始类型,例如 int short ...?它对用户一点都不友好。
我如何对这些类型进行算术运算?

更新

你们中的大多数人似乎都忽略了我的第二个问题。添加两种不同类型(例如 time_tsuseconds_t)的标准方法是什么?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com