【问题标题】:Is there a tuple datatype in CC中是否有元组数据类型
【发布时间】:2012-01-03 06:30:45
【问题描述】:

我已经在网上搜索了一段时间,但找不到任何东西。这种数据类型甚至可以在c中使用吗?如果是这样,任何人都可以链接到有关如何使用它们的页面吗?到目前为止我一直找不到它们....谢谢!

【问题讨论】:

  • 你指的是什么类型的元组?
  • 不能使用数组有什么原因吗?你需要一个元组做什么?

标签: c types


【解决方案1】:

不,没有,但在某些情况下使用 struct 可以足够接近。试试

typedef struct 
{
    int a;
    int b;
} tuple;

tuple t = {1,2};

int main (void) 
{
    t.a = 3; // t.a == 3, t.b == 2
}

【讨论】:

  • typedef struct { // 为 k_request_process_status 创建的元组数据结构 int pid; PCBState procStat; int 优先级; }process_tuple; typedef process_tuple * ProcTuple;
  • 试图生成一个元组数组。
  • 我以为元组是不可变的列表类型?此示例是可变的,并且仅限于 2 个元素。
  • 你总是可以使用'const int'。
【解决方案2】:

在语言层面没有这样的东西。

struct 就足够了吗?

【讨论】:

  • 所以我必须自己制作数据类型?没有内置数据类型吗?
  • @Falcata:不,没有内置的元组数据类型。
【解决方案3】:

C 中唯一可用的类型是:

  • 内置类型:int, char, long, float, double, ...
  • 指向内置类型的指针
  • 数组
  • 结构
  • 枚举
  • 函数指针

除此之外,您必须自己创建它们(即使是字符串,它们也只是一个以空字符结尾的 char 数组)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-10
    • 1970-01-01
    • 2016-05-16
    • 2021-03-11
    • 1970-01-01
    • 2019-03-25
    • 2020-02-28
    • 1970-01-01
    相关资源
    最近更新 更多