トップページ – C言語編 – 標準ライブラリのリファレンス(名前順)
トップページ – C言語編 – 標準ライブラリのリファレンス(ヘッダ別)
概要 |
||
ヘッダ |
なし(事前定義マクロである) |
|
形式 |
||
置換結果 |
境界検査関数を実装する処理系であれば 1 に置換される。 |
|
詳細 |
C11 で追加された境界検査関数を実装しているかどうかを表す。境界検査関数は、引数に配列(を指すポインタ)を指定するような関数において、その実際の要素数を超えた書き込みを行ってしまうような厄介な問題を検出する。たとえば、危険な gets関数に対する境界検査関数として、gets_s関数がある。 実際に、境界検査関数を使用するには、該当の関数が宣言されている標準ヘッダをインクルードする前に、__STDC_WANT_LIB_EXT1__ という名前のマクロを、置換結果 1 として定義することが作法となっているが、これを行わずとも関数を使用できる処理系もあり得る。 |
|
注意 |
||
使用例 |
実行結果:
|
|
関連 |
境界検査関数を使用したいときには、__STDC_WANT_LIB_EXT1__ の定義を行う。 |
|
解説章 |
本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place
管理者に紹介料が支払われています。
()
の前後の空白の空け方)(
の直後、)
の直前に空白を入れない)return 0;
を削除(C言語編全体でのコードの統一)新規作成。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |