LP64 データ型モデルでは、sizeof() は unsigned long
の実効的なデータ型をもちます。sizeof() は、int
型 の引数を期待する (受け取る) 関数に渡されたり、int
に代入またはキャストされることがあります。このような切り捨てによってデータが失われることがあります。
long a[50]; unsigned char size = sizeof (a); % warning: 64-bit constant truncated to 8 bits by assignment warning: initializer does not fit or is out of range: 0x190