| ア | イ | ウ | エ | オ |
| カ | キ | ク | ケ | コ |
| サ | シ | ス | セ | ソ |
| タ | チ | ツ | テ | ト |
| ナ | ニ | ヌ | ネ | ノ |
| ハ | ヒ | フ | ヘ | ホ |
| マ | ミ | ム | メ | モ |
| ヤ | ユ | ヨ | ||
| ラ | リ | ル | レ | ロ |
| ワ | ヰ | ヴ | ヱ | ヲ |
| ン |
| A | B | C | D | E |
| F | G | H | I | J |
| K | L | M | N | O |
| P | Q | R | S | T |
| U | V | W | X | Y |
| Z | 数字 | 記号 | ||
C/C++などにおける変数型の一つ。UNIXで、「エラー」または「長さ」を格納するために使われる。
#include <unistd.h>
#include <sys/types.h>
x86用Linuxの場合、次のように定義されている。
asm/posix_types_64.h
typedef long __kernel_ssize_t;
asm/posix_types_32.h
typedef int __kernel_ssize_t;
asm-generic/posix_types.h
typedef int __kernel_ssize_t;
typedef long __kernel_ssize_t;
その後
sys/types.h
typedef __ssize_t ssize_t;
環境に応じて、intまたはlongが間接的にtypedefされている。
x86の場合
arch/x86/include/asm/posix_types_64.h
typedef long __kernel_ssize_t;
arch/x86/include/asm/posix_types_32.h
typedef int __kernel_ssize_t;
ARMの場合
arch/arm/include/asm/posix_types.h
typedef int __kernel_ssize_t;
その後
linux/types.h
typedef __kernel_ssize_t ssize_t;
環境に応じて、intまたはlongが間接的にtypedefされている。
UNIXのシステムコールで、返り値に長さ(0以上)またはエラー(-1)を返す場合に使われている。エラー時、実際のエラーの種類はerrnoに格納される。
次のような関数がssize_t型で値を返す。
基本的にサイズが負の数になることはなく、またエラーの場合も-1を返して実際のエラー番号はerrnoである。無駄が多く、あまり賢くない設計である。
しかも、size_tと比較しても有効符号長が1ビット短くなるため、長さを表わすにも不利である。
数値の型を表わすサフィックスは、特に定義されていない。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます