小编cju*_*b39的帖子

在C中包含保护惯例

设置包含警卫的常规方法是什么?我通常把它们写成(例如h.h):

#ifndef _EXAMPLE_H_
#define _EXAMPLE_H_
#include "example.h"
#endif
Run Code Online (Sandbox Code Playgroud)

强调约定是否重要?当我用Google搜索时,我看到了相互矛盾的信息.是否_EXAMPLE_H_甚至有相匹配的头的名称?

c include-guards

9
推荐指数
1
解决办法
8834
查看次数

typedef与没有带有C语言中的结构和枚举的typedef

在C中,将结构声明为是否存在任何有效差异

typedef struct {...} Foo;
Run Code Online (Sandbox Code Playgroud)

struct Foo {...};
Run Code Online (Sandbox Code Playgroud)

我知道第二个要求你使用前缀struct,但是在编写或执行程序时我会注意到这两个定义之间有什么区别?用enums怎么样?

c enums struct typedef

4
推荐指数
1
解决办法
3322
查看次数

在不同函数的struct中访问struct

我有嵌套的结构,我在向不同函数的内部结构赋值时遇到问题.我的结构定义为:

typedef struct {
    double reading;
    float readingTime;
    int readingNum;
} Measurement;

typedef struct {
    Measurement vref;
    Measurement vout;
    Measurement voutShort; 
} Unit;
Run Code Online (Sandbox Code Playgroud)

在函数(measureUnit())中,我声明Unit unit;我调用takeMeasurement(unit)(为了清楚起见,我在下面简化),并尝试为内部Measurement结构中的某些值赋值:

takeMeasurement(Unit unit){
    int readingNum = 42;
    unit.vout.readingNum = readingNum;
}
Run Code Online (Sandbox Code Playgroud)

当我然后尝试访问printData(Unit unit)其中调用的值时measureUnit(),

`printf("%i", unit.vout.readingNum)`
Run Code Online (Sandbox Code Playgroud)

总是打印0.

这些价值不应该unit通过不同的功能"跟随" 吗?

c struct

0
推荐指数
1
解决办法
537
查看次数

标签 统计

c ×3

struct ×2

enums ×1

include-guards ×1

typedef ×1