変数の値と、その変数名を表示する関数。
void hogeprint( int, char * ); を作成しました。

#define STR(x) #x
int main()
{
  int value = 100;
  ...
  hogeprint( value, STR(value));
  ...
}
としたとき、"value"の示す文字列の生存範囲は関数内のみになるのですか?
それとも、main 関数が終わるまでになるのでしょうか?