|
早速返信ありがとうございます。
しかしこのマクロを例のようなsub関数の中で使うと
分子sizeof(array)の部分がポインタのサイズになってしまいます。
main関数のみに閉じていればマクロを使い定数と記述しないですむので
かなり有効です。ありがとうございます。
>こんにちは。
>
>お望みのものは次のマクロのようなものでは無いでしょうか。
>
>#define NELEM(array) (sizeof(array)/sizeof(array[0]))
int main(int argc, char *argv[])
{
int a[5];
double b[10];
char s[8];
printf("%d, \%d, %d\n", NELEM(a), NELEM(b), NELEM(s));
return 0;
}
|