#include <stdio.h>staticconstdouble five_ninths =5.0/9.0;doublecelsius(doublefahrenheit){double c =(fahrenheit -32)* five_ninths;return c;}intmain(){double f =100;printf("%f F is %f Cn", f, celsius(f));return0;}
这个例子使用了静态和动态内存分配技术:
five_ninths 这个变量由于带有 static 关键字所以使用了静态内存分配;
当函数 celsius() 调用时,函数中的变量 c 使用了自动内存分配,为其分配的内存在函数结束后释放;
当函数 main() 调用时,函数中的变量 f 使用了自动内存分配,为其分配的内存在函数结束后释放;