gpt4 book ai didi

c - 大括号内的代码行

转载 作者:太空宇宙 更新时间:2023-11-04 01:21:42 26 4
gpt4 key购买 nike

我最近在一个方法中遇到一行如下:

range_t range = {0, bytes_usage(value), hm->pair_size};

用大括号括住代码片段到底是什么意思?

最佳答案

您使用的结构未定义,但显然至少 三个成员,它们在大括号(大括号)内初始化。

range_t range = {0, bytes_usage(12), hm->pair_size};

第一个是硬编码的0。第二个是函数调用的结果。第三个是另一个struct的成员的值,它需要一个struct指针。

#include <stdio.h>

typedef struct { // a struct with 3 members
int a, b, c;
} range_t;

typedef struct { // a struct that will be used to initialise another
int pair_size;
} hm_type;

int bytes_usage(int v) // a function that returns a value
{
return v + 1;
}

int main(void) {
hm_type hh = {42}; // a struct with data we need
hm_type *hm = &hh; // pointer to that struct (to satisfy your question)
range_t range = {0, bytes_usage(12), hm->pair_size}; // your question
printf("%d %d %d\n", range.a, range.b, range.c); // then print them
}

程序输出:

0 13 42

关于c - 大括号内的代码行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41068261/

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