global nDetrIdx=0
时间: 2024-02-05 22:04:02 浏览: 11
在Python中,不能在global语句中直接给变量赋值。global语句用于声明在函数内部使用全局变量,而不是用于初始化变量。
要定义一个全局变量,你可以在函数外部直接赋值。例如:
```
nDetrIdx = 0
```
这样,nDetrIdx就被定义为一个全局变量,并且可以在整个模块中访问和修改它。请确保在使用全局变量之前给它赋值。
相关问题
extern int globalVariable = 0;这样的操作是否可取
在C语言中,使用 `extern` 关键字来声明变量是为了告诉编译器该变量在其他文件中已经定义。然而,一般情况下不建议在声明时就进行赋值。因此,`extern int globalVariable = 0;` 这样的操作是不可取的。
如果你想在其他文件中使用这个全局变量,可以在声明时使用 `extern` 关键字,而不进行赋值操作。然后,在定义这个全局变量的文件中进行赋初值的操作。
例如,在一个文件中声明全局变量:
```c
// file1.h
extern int globalVariable;
```
然后,在另一个文件中定义并赋初值:
```c
// file1.c
int globalVariable = 0;
```
这样,其他文件就可以通过包含 `file1.h` 来访问和使用这个全局变量。
总结来说,`extern int globalVariable = 0;` 这样的操作不符合一般的编程规范,建议将赋值操作放到定义变量的地方进行。
extern int globalVariable = 0;这样的操作会出现什么问题?
在C语言中,`extern int globalVariable = 0;` 这样的操作会导致编译错误。这是因为在使用 `extern` 关键字声明变量时,变量不能进行初始化赋值。
当你使用 `extern` 关键字声明一个变量时,它告诉编译器该变量在其他文件中已经定义。因此,在声明时不需要进行赋初值的操作。如果你在 `extern` 声明时进行了赋值操作,编译器会认为它是一个定义,并且会在编译时报错。
如果你想为 `extern` 声明的变量赋初值,应该将赋值操作放在变量的定义处,而不是在声明处。
例如,在一个文件中进行变量的定义和赋初值:
```c
// file1.c
int globalVariable = 0;
```
然后,在其他文件中使用这个全局变量的外部声明:
```c
// file2.c
extern int globalVariable;
```
这样,全局变量可以在其他文件中使用,并且在定义处进行了赋初值的操作。