rsize_t | Programming Place Plus C言語編 標準ライブラリのリファレンス

C言語編 標準ライブラリのリファレンス rsize_t

先頭へ戻る

rsize_t

概要 境界検査関数が使う大きさ型。
ヘッダ stddef.hstdio.hstdlib.hstring.htime.hwchar.h
形式 typedef size_t rsize_t;
詳細 引数に配列(を指すポインタ)を指定する標準ライブラリ関数において、その配列の要素数を指定する目的で使われる型。このような類の関数で、仮引数の型が rsize_t型になっているものは、境界検査関数と呼ばれる。
型としては size_t型と等価である。そのため、sizeof演算子などで得た値がそのまま使用できるが、この型の引数に対して、RSIZE_MAX より大きい値を渡すと実行時制約への違反となる。
この型は、処理系が境界検査関数をサポートする場合にのみ定義される。そのような処理系では、__STDC_LIB_EXT1__ が定義されている。
注意
使用例
#define __STDC_WANT_LIB_EXT1__ 1
#include <stdio.h>

int main(void)
{
    char buf[16];

    puts( "何か入力して下さい。" );
    gets_s( buf, sizeof(buf) );
    puts( buf );

    return 0;
}

実行結果:

何か入力して下さい。
abcde
abcde
関連 rsize_t型の引数を持つ関数に、RSIZE_MAX より大きい値を渡すと実行時制約違反となる。
解説章


参考リンク



更新履歴

'2018/4/27 新規作成。



標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ


はてなブックマーク Pocket に保存 Twitter でツイート Twitter をフォロー
Facebook でシェア Google+ で共有 LINE で送る rss1.0 取得ボタン RSS