先頭へ戻る

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

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(名前順)

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(ヘッダ別)

先頭へ戻る

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 に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー