background image

YMAX 如下:#define WALL_ID 5
#define YMIN 0.0
#define YMAX 0.4064
2.5 变量
  变量或者对象保存在可以存储数值的内存中。每一个变量都有类型、名字和值。变量在
使用之前必须在 C 程序中声明。这样,计算机才会提前知道应该如何分配给相应变量的存
储类型。
2.5.1 声明变量
  变量声明的结构如下:首先是数据类型,然后是具有相应类型的一个或多个变量的
名字。变量声明时可以给定初值,最后面用分号结尾。变量名的头字母必须是 C 所允许的
合法字符,变量名字中可以有字母,数字和下划线。需要注意的是,在 C 程序中,字母是
区分大小写的。下面是变量声明的例子:
int n;                   /*声明变量 n 为整型*/
int i1, i2;                /*声明变量 i1 和 i2 为整型*/
float tmax = 0.;           /* tmax 为浮点型实数,初值为 0 */
real average_temp = 0.0;   /* average_temp 为实数,赋初值为 0.1*/
2.5.2 局部变量
  局部变量只用于单一的函数中。当函数调用时,就被创建了,函数返回之后,这个变
量就不存在了,局部变量在函数内部(大括号内)声明。在下面的例子中, mu_lam 和
temp 是局部变量。
DEFINE_PROPERTY(cell_viscosity, cell, thread)
{
  real mu_lam;
  real temp = C_T(cell, thread);

  if (temp > 288.)
    mu_lam = 5.5e-3;
  else if (temp > 286.)
    mu_lam = 143.2135 - 0.49725 * temp;
  else
    mu_lam = 1.;

  return mu_lam;
}
2.5.3 全局变量
  全局变量在你的 UDF 源文件中是对所有的函数都起作用的。(调用一个 UDF 源文件
可能会包括一系列的连接函数。)它们是在单一函数的外部定义的。全局变量一般是在预
处理程序之后的文件开始处声明。
2.5.4 外部变量
  如果全局变量在某一源代码文件中声明,但是另一个源代码的某一文件需要用到它 ,
那么你必须在另一个文件中声明它是外部变量。外部变量的声明很简单,你只需要在变量
声明的最前面加上 extern 即可。如果有几个文件涉及到该变量,最方便的处理方法就是在
头文件(.h)中加上 extern 的定义,然后在所有的.c 文件中引用该头文件即可。只有一个.c
文件应该包括没有 extern 关键字的变量声明,如下所示。注意:extern 只用于编译过的