可以把变量定义写在h文件中吗?
时间: 2024-05-14 14:18:47 浏览: 10
可以。在头文件中定义变量是一种常见的方法,特别是当多个源文件需要访问同一变量时。通常,在头文件中定义变量时,应该使用extern关键字来声明变量,并在一个源文件中进行定义。例如,假设我们有一个名为example.h的头文件,其中包含以下代码:
```
extern int number;
```
这会声明一种类型为int的变量number,但不会定义它。然后,我们可以在另一个源文件中定义它,例如example.c:
```
int number = 42;
```
这样,我们就可以在多个源文件中使用变量number,而不会产生多个定义。
相关问题
在QT creator 中,可以在.h文件中定义pixmap的尺寸大小吗?
可以在.h文件中定义pixmap的尺寸大小。您可以使用QPixmap类的构造函数之一来创建一个指定大小的pixmap,如下所示:
```
QPixmap pixmap(int width, int height);
```
在您的头文件中,您可以定义一个QPixmap对象并在构造函数中指定宽度和高度:
```
class MyClass : public QWidget
{
Q_OBJECT
public:
MyClass(QWidget *parent = 0);
~MyClass();
private:
QPixmap myPixmap;
};
MyClass::MyClass(QWidget *parent)
: QWidget(parent)
, myPixmap(100, 100) // width = 100, height = 100
{
// ...
}
MyClass::~MyClass()
{
// ...
}
```
这将创建一个宽度为100像素,高度为100像素的pixmap对象,并将其存储在myPixmap变量中。
在.h文件中如何进行变量的声明
在.h文件中进行变量的声明通常使用extern关键字。通过在.h文件中使用extern关键字来声明变量,可以让其他源文件知道该变量是在其他地方定义的,而不是在当前文件中定义。
例如,假设有一个globals.h文件,我们想在该文件中声明一个全局变量:
globals.h:
```c
extern int sharedVariable; // 声明一个在其他地方定义的全局变量
```
然后,在另一个源文件中定义该全局变量:
file1.c:
```c
#include "globals.h"
int sharedVariable = 10; // 定义全局变量
```
file2.c:
```c
#include "globals.h"
#include <stdio.h>
extern int sharedVariable; // 在当前文件中声明全局变量
int main() {
printf("Shared Variable: %d\n", sharedVariable); // 使用全局变量
return 0;
}
```
通过在globals.h文件中使用extern关键字声明全局变量,并在其他源文件(file1.c)中定义该全局变量,可以在file2.c中使用extern关键字来引用共享的全局变量。
总而言之,通过在.h文件中使用extern关键字声明变量,可以让其他源文件知道该变量是在其他地方定义的。这样可以实现在多个源文件之间共享变量的目的。