�ܿ����Τ���C�ץ�����ߥ�

C�����Ȥäưܿ����ι⤤�ץ�����ߥ󥰤�Ԥ��Τϴ�ñ�ǤϤ���ޤ��󡣤��Υ֥����Ǥϡ�ɮ�Լ��Ȥ���˺Ͽ���ͤơ��ܿ����Τ���ץ�����ߥ󥰤ΥΥ��ϥ���Ͽ���Ƥ��������Ȼפ��ޤ���
<< November 2024 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>
 
RECOMMEND
C¥×¥í¥°¥é¥ß¥ó¥°¿ÇÃǼ¼¡½¤µ¤é¤ËÈþ¤·¤¯·ò¹¯Åª¤Ê¥×¥í¥°¥é¥à¤Î¤¿¤á¤Ë
C�ץ�����ߥ󥰿��Ǽ����������������Ū�ʥץ������Τ���� ï¿½ï¿½JUGEM��ӥ塼 »ï¿½ï¿½
ƣ�� ��ʸ
�䤬��������C����ǥץ�����ߥ󥰤��Ǥ���褦�ˤʤä����������ܤε��Ǥ��ɤߤޤ�����
���˿ɸ������ƤǤ��ꡢ�ɼԤˤ�äƤϷ��������������⤪���뤫�⤷��ޤ��󤬡���C�ץ�����ߥ󥰿��Ǽ��פϡ�C����˴ؤ�������ʤ�ͭ�פʽ��ҤΤҤȤĤǤ�����äȤ⡢�������Ƥ����ʤ�Ť����ᡢ���ȤʤäƤϤ������٤�Ȥʤä���ʬ�⤢��ޤ���������������򺹤������Ƥ⡢��ʬ���ɤ���ͤΤ������Ǥ���
RECOMMEND
¿·ANSI C¸À¸ì¼­Åµ
��ANSI C���켭ŵ ï¿½ï¿½JUGEM��ӥ塼 »ï¿½ï¿½
ʿ�� ����
�ޤ�C�����Ф����Ƥ��ä����������ܤ������ǤǤ����ANSI C���켭ŵ�פ��ܥ��ܥ��ˤʤ�ޤdz��Ѥ��ޤ������䤬��������C�����Ϣ�ν��Ҥ���Ǥϡ��Ǥ⥳���ȥѥե����ޥ󥹤��⤫�ä��Ȼפ��ޤ���
���ޤ�ˤ�ܥ��ܥ��ˤʤä��Τǡ������Ǥˤ����롢���Ρֿ�ANSI C���켭ŵ�פ�������ޤ��������Ǥ�ǽ�˼�ˤ��Ƥ���10ǯ�ʾ�Ф��ޤ��������ʤ����������Ȥ��Ǥ��ʤ�ɬ�Ȥΰ���Ǥ���
ARCHIVES
RECENT COMMENT
RECENT TRACKBACK
MOBILE
qrcode
 
���ݥ󥵡�������

������ֹ������ʤ����ṭ���ɽ�����Ƥ��ޤ�


- | | - | -
��������ǿ����Τ�
sizeof�黻�ҤΤ褦�ˡ����󷿤Υ��֥������Ȥ�°����Ȥ����Ϥ��ȡ����ǿ���ɽ���������Ÿ�����Ƥ����ޥ������ߤ����ʤ�Ȥ��Ϥ褯����ޤ�������ʤȤ��ϡ����Τ褦�����֤Υޥ�����������뤳�Ȥ��б�����Τ����̤��Ȼפ��ޤ���

#define countof(array) (sizeof(array)/sizeof((array)[0]))

����Ǥ⡢�������¤��׷���������櫓�Ǥ��������Τ褦�ʻȤ����򤷤����ˤϡ������̤�ο����񤤤ˤʤ�ޤ���

int a[10];
int *p = a;
size_t n = countof(p);

����ϡ��Ȥ������ְ�äƤ���Τ���������ǽ���ʤ��Τ������ʤΤǤ���������ʤ餽��ǡ�����ѥ��륨�顼�ˤʤä��ߤ����Ȥ����Ǥ��������ǡ��⤦�������פ��Ƥߤ뤳�Ȥˤ��ޤ��礦��

�ޤ���countof�ޥ����μ°��������󷿤��ݥ��󥿷�����ʬ������ˡ��Ƥ���Ƥߤ뤳�Ȥˤ��ޤ������󷿤Ȥ����Τϡ��ۤȤ�ɤα黻�ǰ���Ū�˥ݥ��󥿷��˷��Ѵ�����Ƥ��ޤ��ޤ����Ϥ����㳰��sizeof�黻�Ҥ�&�黻�ҤǤ���

���Τ���sizeof�黻�ҤǤϡ����󷿤Υ������ȥݥ��󥿤Υ����������ޤ���Ʊ���ˤʤ뤳�Ȥ⽽ʬ�ͤ�����Τǡ����ޤ�ͭ���ʼ��ʤȤϤ����ޤ��󡣤Ǥϡ�&�黻�ҤϤɤ��Ǥ��礦����
³�����ɤ� ���

���ݥ������ NULL
�����ơֶ��ݥ������ NULL�פȽ񤤤��Τϡ����ޤ���NULL��'\0'��Ʊ����ͤ����뤫��Ǥ���NULL�ޥ����Ϥ����ޤǤ���ݥ�������Ǥ��ꡢ�ʥ�ʸ���Ǥ���'\0'�Ȥ�������̣���ۤʤ�ޤ���

�ȡ���ñ�ʤ��ȤϺǽ�˽񤤤Ƥ����ơ���������Ϥ�äȥǥ����פ����������ޤ�������Υơ��ޤǤ���NULL�Ǥ��������Υޥ�����ɽ�������ݥ�������Ȥ����Τϡ��¤ϴؿ��ؤΥݥ��󥿤ˤ��������뤳�Ȥ��Ǥ��ޤ�����ͳ������ε����Ǥ�񤤤��褦�ˡ�NULL�� (void*)0 �Τ褦�ˡ�void�ؤΥݥ��󥿤Ȥ����������뤳�Ȥ�¿������Ǥ���

�Ǥϡ�(void*)0 �ǤϤʤ���0 ���������Ƥ���дؿ��ؤΥݥ��󥿤��������Ƥ�褤���Ȥ����ȡ�ʸˡ��Ǥ��뤫�ɤ����Ǥ����ФǤ��ޤ���������ʤ��Ȥ򤹤�С����Υ����������ɤΰܿ����ϼ����Ƥ��ޤ��ޤ���

�Ȥ����櫓�ǡ�NULL�ϴؿ��ؤΥݥ��󥿤������ʽ������ˤ��뤳�ȤϤǤ��ޤ��󤬡�NULL�ȴؿ��ؤΥݥ��󥿤���ӤϤɤ����Ǥ���褦�Ǥ���������NULL��ؿ��ؤΥݥ��󥿤������Ǥ��ʤ��Ȥ������Ȥϡ�NULL�ȴؿ��ؤΥݥ��󥿤��ߴ������ʤ��Ȥ������ȤǤ����������äơ��ؿ��ؤΥݥ��󥿤Ȥ���Ӥˤϡ�NULL�ǤϤʤ� 0 ����Ѥ��뤳�Ȥ򤪴��ᤷ�ޤ���

���ơ�NULL��������Ƥ� (void*)0 �Ǥ��뤳�Ȥ�¿�����Ȥ����Ҥ����Ȥ���Ǥ�����0 ���ͤ������������Ȥ���������Ƥ�褤���ȤˤʤäƤ��ޤ������������դ��ʤ��Ȥ����ʤ��Τϡ����餫����ͳ��NULL�ޥ����򼫺����ˤϡ��°פ� 0 �Ƚ񤤤ƤϤ����ʤ��Ȥ������ȤǤ���

�ʤ��ʤ顢���Ѹİ����Τ褦�ˡ��ؿ������ˤ�äƷ������ꤵ��ʤ��ؿ��μ°����Ȥ���NULL���Ϥ���硢�ݥ��󥿤Υ�������Ʊ���ˤ��Ƥ����ʤ���Фʤ�ʤ�����Ǥ���int����16�ӥåȤǡ��ݥ��󥿷���32�ӥåȤδĶ��Ǥϡ�NULL��0���������Ȳ��Ѹİ����Ȥ����Ϥ������˸�ư��ޤ����������äơ����Τ褦�ʾ��ˤ� 0 �ǤϤʤ� 0L ��������뤳�Ȥˤʤ�櫓�Ǥ���

C++�Ǥϡ�����Ū��NULL�ޥ����ϻ��Ѥ������������������� 0 ����Ѥ��ޤ���0 ����Ѥ���ȡ��嵭�����꤬������Τ�C++�Ǥ�Ʊ���Ǥ��������⤽��C++�Ǥϲ��Ѹİ��������Ѥ��뵡�񤬾��ʤ����ȡ��ޤ����ؿ��μ°����Ȥ����Ϥ���硢¿���������������褹��ˤϡ�NULL�򤽤Τޤ��Ϥ��ΤǤϤʤ����㥹�Ȥ�ɬ�פʤ��Ȥ��顢�ºݤˤ����꤬������ˤ����Τ��Ȼפ��ޤ���

���ʤߤˡ�C++�Ǥ�NULL�ޥ����� (void*)0 ��������뤳�ȤϤǤ��ޤ��󡣤ʤ��ʤ顢C++�Ǥ�void�ؤΥݥ��󥿤���void�ʳ��ؤΥݥ��󥿤˰���Ū���Ѵ����Ԥ��ʤ�����Ǥ���

void�ؤΥݥ���
void�ؤΥݥ��󥿤Ȥ����ȡ��ɤ�ʷ��ؤΥݥ��󥿤Ǥ������Ǥ����ɤ�ʷ��ؤΥݥ��󥿤ˤǤ����Ū�˷��Ѵ��Ǥ������ѥݥ��󥿤Ǥ�����������void�ؤΥݥ��󥿤Ȥ�����Ѵ����Ǥ��ʤ��ݥ��󥿤����뤳�Ȥ�¸�ΤǤ��礦����

JIS X3010:2003��6.3.2.3 �ݥ��󥿤ˤϡ����Τ褦�˵��Ҥ���Ƥ��ޤ���
void�ؤΥݥ��󥿤�, Ǥ�դ��Դ������㤷���ϥ��֥������ȷ��ؤΥݥ��󥿤�, ���ϥݥ��󥿤���, ���Ѵ����Ƥ�褤��Ǥ�դ��Դ��������ϥ��֥������ȷ��ؤΥݥ��󥿤�, void�ؤΥݥ��󥿤˷��Ѵ����ƺƤ��ᤷ�����, ��̤ϸ��Υݥ��󥿤���Ӥ����������ʤ���Фʤ�ʤ���
�Ĥޤꡢ��ߤ˷��Ѵ��Ǥ���Τϡ��Դ������ؤΥݥ��󥿤ȥ��֥������ȷ��ؤΥݥ��󥿤����Ȥ������Ȥˤʤ�ޤ���

�Դ������Ȥ����Τϡ����ǿ�����ꤷ�ʤ����󷿤䡢struct ����̾�����ι�¤�Τ䡢Ʊ�ͤζ����Ρ�����Τ䡢void���Τ��ȤǤ������֥������ȷ��Ȥ����Τϡ����ѷ���������������ư����������ʣ�ǿ����ˡ������η������󷿡���¤�η��ˡ������η����ݥ��󥿷������ΤǤ���

³�����ɤ� ���

�إå�̾
��ʬ�ס��ι����Ǥ����������#include����ǻ��ꤹ��إå�̾�˴ؤ�������Ǥ����إå�̾�λ�����ˡ���礭��ʬ������Ĥ��뤳�Ȥϡ�C�����Ȥ��Ƥ������Ǥ���Ф褯��¸�ΤΤϤ��Ǥ������ʤ����<...>�η�����"..."�η����Ǥ����ޤ��ϡ�������Ĥη����ΰ㤤���鸫�Ƥ��������Ȼפ��ޤ���

�ޤ���<...>�η����Ǥ��������������Ͻ����Ϥ��󶡤���إå�����ꤹ�뤿��Τ�ΤǤ��������ʾ�Ϥ��ۣ��ǡ��ֽ����Ϥǽ�����ǽ�ʥإå��פȤ���ʬ���ä��褦�ʤ狼��ʤ��褦�ʵ��ҤˤʤäƤ��ޤ��������ơ����Υإå��Ȥ����Τ�ɬ������ե�����Ǥ���ɬ�פϤ���ޤ��󡣤ޤ����ɤΤ褦�ˤ��ƥإå���õ��������ꤹ�뤫���ɤΤ褦�ˤ��ƥإå����̤��뤫�����������ˤʤäƤ��ޤ���

���ˡ�"..."�����Ǥ�����������ϴ���Ū�ˤϥ������ե����������ि��Τ�ΤǤ��������ơ����ꤷ���������ե������õ����ˡ�Ͻ���������Ǥ���

�Ǥ����Ū��õ�����ϡ�#include���᤬���Ҥ��줿�������ե������Ʊ���ǥ��쥯�ȥ��ޤ���õ�����������Ǹ��Ĥ���ʤ���С����Υ������ե����뤬�����ޤ줿�������ե������Ʊ���ǥ��쥯�ȥ��õ����...�Ȥ����褦�ˡ��ǽ��#include�����Ȥä��������ե������Ʊ���ǥ��쥯�ȥ�ޤ��̤�Ȥ�����ΤǤ���¾�ˤϡ���˺�ȥǥ��쥯�ȥ��õ������Ȥ��������Ϥ⤢��ޤ���

�ޤ���ɸ�൬�ʤˤ�"..."�����˴ؤ���Ȥ�����JIS X3010:2003 6.10.2 �������ե��������ߡˤǡ��֤���õ���򥵥ݡ��Ȥ��Ƥ��ʤ����פȤ������Ҥ�����Τǡ�"..."��������ꤷ�Ƥ�<...>��Ʊ���ˤʤäƤ��ޤ���礬����褦�Ǥ������ξ��ˡ��إå����ե�����ǤϤʤ��Ȥ���ȡ��إå����ɲä���Ѥ������ʤ��ʤäƤ��ޤ��櫓�Ǥ������ʰ�Ū�ʥ��󥿡��ץ꥿�Τ褦�ʤ�Τ�����С��ޤ����Τ褦�ʽ����Ϥ��������뤳�ȤϤʤ��Ȼפ��ޤ���

�Ȥ����ǡ������񤯤�Windows�Ķ��Ǻ�Ȥ���Ƥ���������س���Ȥ��뤫�⤷��ޤ��󤬡��إå�̾����˵ռ������ޤޤ�Ƥ�������ư���̤����ˤʤ�ޤ���¾�ˤ� ', ", //, /* ���ޤޤ�Ƥ�������ư�̤����ˤʤ�ޤ����ޤ������ʾ弱�̤���뤳�Ȥ��ݾڤ����إå�̾�ϡ��ѻ��ǻϤޤ�ѿ������¤Ӥθ�ˡ�1�ĤΥԥꥪ�ɤȱѻ�1ʸ����³��̾���Ȥ������ȤˤʤäƤ��ޤ����ޤ����ѻ�����ʸ������ʸ���ζ��̤�����Ȥϸ¤餺���ԥꥪ�ɤ����αѿ������¤ӤΤ����μ¤�ͭ���ʤΤ�6ʸ����C99�Ǥ�8ʸ���ˤǤ���

³�����ɤ� ���

�ݥ���Ʊ�Τθ���
�Ƕ�����ˤʤä��Τ���˺Ͽ�������Ƥ��Ƥ����ޤ����ݥ���Ʊ�Τθ����ˤĤ��Ƥ�����Ǥ���

�ݥ��󥿤Ȥ����Τϡ����ʾ�ϲ��餫�Υ��֥������Ȥ����ؤ����Ȥ��Ǥ��ޤ��󤷡��ݥ���Ʊ�Τθ������Ǥ���Τϡ�Ʊ�������Τ�°����Τ����Ǥ��������������¤ˤϤ���������ݻ��구�˼�äƤ���ȡ������ͥ��ǥХ����ɥ饤�Ф�����Υ饤�֥����������Τ�����ˤʤ�ޤ���

�����ǡ�Ǥ�դΥ��ɥ쥹��ؤ��ݥ��󥿤�Ȥä��ꡢ�����θ�����Ԥä��ꤹ��櫓�Ǥ�����Ʊ����������Ǥ�ؤ��ݥ���Ʊ�Τθ����Ǥϵ����ʤ��ä����֤��������뤳�Ȥ�����ޤ���

�ݥ���Ʊ�Τθ�����̤ϡ�<stddef.h>�إå�����������ptrdiff_t���Ȥ�������դ��������ˤʤ�櫓�Ǥ�����ŵ��Ū��32�ӥåȤν����ϤǤϡ����ɥ쥹���֤�ptrdiff_t����Ȥ��32�ӥåȤǤ��ꡢ2G�Х��Ȥ�Ķ����Υ�줿char���Υݥ���Ʊ�Τ򸺻�����ȥ����С��ե�����ȯ�����Ƥ��ޤ��ޤ���

�������򤹤뤿��ˤϡ����ä������̵���������˥ݥ��󥿤򥭥㥹�Ȥ��Ƥ��鸺������ɬ�פ�����ޤ������������ݥ��󥿤Υ������ʾ�����̵���������Ȥ��Ʋ������֤�����������Ǥ���C99�Ǥ���С�<stdint.h>�إå�����������uintptr_t����Ȥ��Ф褤�ΤǤ������Ť����ʤǤϤ��⤽��ݥ��󥿤��ͤ��Ǽ�Ǥ�������������¸�ߤ��뤳�ȼ����ݾڤ���ޤ���

untptr_t��������ˤʤꤽ���ʤ�ΤȤ���size_t��������ޤ�����size_t����sizeof�黻�Ҥη�̤η��Ǥ��Τǡ����֥������ȤΥ������ʾ��ɽ���Ǥ��ޤ��󡣤������äơ�2G�Х��Ȥ�Ķ����褦�ʥ�������ɽ���Ǥ��ʤ����Ȥ�¿������ޤ���

�ʤ��ʤ��񤷤�����Ǥ����������������򤹤�ˤϡ������Ϥ򤢤��������ꤷ�ơ�����դ�����ѥ���ʤɤ���ˡ��Τ뤷���ʤ������Ǥ���

sizeof(��̾) * CHAR_BIT != ͭ���ӥå���
char����8�ӥåȤ�long����32�ӥåȤξ�硢sizeof(long)��4�Х��Ȥˤʤ�ޤ����顢sizeof(long)*CHAR_BIT == 32�ǡ��Х��ȿ���1�Х��Ȥ�����Υӥåȿ��ʤ����Ǥ�8�ӥåȡˤ�ݤ����ͭ���ӥåȿ��ˤʤ�ޤ����Ȥ���������ˤ����������Ȥ�����Ω�ĤȤϸ¤�ޤ���

�äˡ�DSP�ʤɤǤϡ�long����48�ӥåȤΤ褦������Ⱦü��ͭ���ӥå�������äƤ����ꤷ�ޤ��������32�ӥåȶ��������󤵤��褦�Ȥ���ȡ�long����8�Х��ȤǤʤ���Фʤ�ޤ��󡣤��ʤ����sizeof(long)*CHAR_BIT == 64�Ȥʤꡢͭ���ӥåȿ��Ǥ���48�ӥåȤȤϰۤʤ��̤ˤʤä��ꤷ�ޤ���

�������ä��ü��DSP�ʤɤ��������뵡��Ͼ��ʤ����⤷��ޤ��󤬡���ư���������ξ��ϡ�Ʊ�ͤξ������������뤳�Ȥ����Ū¿�����Ȼפ��ޤ����㤨�С�Intel��i686�򥿡����åȤȤ���GCC�Ǥϡ�long double����ͭ���ӥå�����80�ӥåȤǤ���������Ĵ���δط��塢sizeof(long double)��12���ä��ꤷ�ޤ�*1��

��äȤ⡢��ư���������ξ��ϡ����եȱ黻�������黻���Ȥ��ʤ����Ȥ⤢�äơ�ͭ���ӥå�����ľ�ܱƶ����뤳�ȤϾ��ʤ��Ǥ��礦�����������ˤĤ��Ƥ⡢�ܿ������θ�������ΤǤ���С�sizeof(��̾)*CHAR_BIT ��ͭ���ӥå����Ȥ��ư����٤��ǤϤ���ޤ��󡣤ޤ��Ƥ䡢sizeof(��̾)*8 �ʤɤȤ���ΤϺǰ��Ǥ���


*1 �С������ˤ��ޤ���

��¤�Υ��Ф�����
�ܿ����˴ؤ�������Ȥ��Ƥϡ�FAQ�˶ᤤ��ΤȤ��ơ���¤�Υ��Ф����֤˴ؤ����Τ�����ޤ����Ĥޤꡢ��¤�Τκǽ�Υ��ФΥ��ɥ쥹�ȡ���¤�����Τ���Ƭ���ɥ쥹�����פ���Τ��ɤ����Ȥ������Ȥȡ���¤�Υ��Фν�����ݾڤ����Τ����Ȥ������ȤǤ���

����ˤĤ��Ƥϡ�ɸ�൬�ʤ�ɳ�򤱤С������˻��´ط������餫�ˤʤ�ޤ���JIS X3010:2003 6.7.2.1 ��¤�λ���ҵڤӶ����λ���� ������ˤ�����ޤ���������ʬ����Ѥ���ȡ�

����¤�Υ��֥���������Ǥ�, ��ӥåȥե�����ɥ��еڤӥӥåȥե�����ɤ��֤����ñ�̤�, ������줿������ä��륢�ɥ쥹���ġ���¤�Υ��֥������ȤؤΥݥ��󥿤�, Ŭ�ڤ��Ѵ������, ������Ƭ���С����ϥӥåȥե�����ɤʤ��, ���줬�֤��줿ñ�̡ˤ�ؤ��������, ���εդ�����Ω�ġ���¤�Υ��֥������Ȥ����̾���Τʤ��ͤ�ʪ�����äƤ�褤��, ��Ƭ�ˤ�̾���Τʤ��ͤ�ʪ�����äƤϤʤ�ʤ���

�ȤʤäƤ��ޤ���
�Ĥޤꡢ��¤�Τκǽ�Υ��ФΥ��ɥ쥹�ȡ���¤�����Τ���Ƭ���ɥ쥹�ϰ��פ��ޤ�������¤�Υ��Фϵ��Ҥ��줿����¤�Ǥ��뤳�Ȥ����ʾ��ݾڤ���Ƥ��ޤ������������ӥåȥե�����ɤξ��ϡ��ƥ��ФǤϤʤ����ӥåȥե�����ɤ��֤����ñ�̤ˤĤ��ƤǤ��Τǡ����դ�ɬ�פǤ���

�ȡ��ޤ��������ޤǤϷ����Ǥ�������������Ϥ���ˤϡ��ȼ���ĥ�ʤȤ��������ɸ����͡ˤˤ�äơ�����Ĵ���˱����ơ����Ф�Ŭ�ڤ������ؤ��뤳�Ȥǡ���¤�ΤΥ������ν̾���ޤ��Τ�����ޤ�������ϡ�������ѥå��󥰤Ȥϰۤʤ�ޤ����ѥå��󥰤϶���Ĵ����̵�뤷�ơ����٤ƥХ��ȶ�����ϡ��ե���������֤���櫓�Ǥ�������ҤΤ�Τϥ��Ф������ؤ��ˤ�ä�̾���Τʤ��ͤ�ʪ��ʤ������Ȥ��Ƥ���櫓�Ǥ���

���Τ褦�ʻ��ͤ���Ľ����ϤǤϡ��̾#pragma�����Ȥ���������ѥ��륪�ץ����Ǥ��Τ褦�ʵ�ǽ��ͭ���ˤ��ޤ���#pragma����ξ��ϻȤ�ʤ���кѤ�ΤǤ���������ѥ��륪�ץ����ξ������Ǥ����Ĥޤꡢ����ɸ������ϤޤǴޤ᤿�˹⤤�ܿ������������ˤϡ���¤�Υ��Ф����֤˰�¸���륳���ɤϽ񤫤ʤ�����̵�񤽤��Ǥ���

float����double��
�ɤ��⡢��float�����٤��פȤ����¿������ޤ��˻ĤäƤ���褦�Ǥ��������餯�����Τ褦���¿��θ��ȤʤäƤ���Τ������ǤϤʤ����Ȼפ��ޤ�����C�ץ�����ߥ󥰿��Ǽ�����̾���Ǥ��������Ƥ����Ƥ��ݤߤˤ���ˤϡ������Ť����ޤ���

�Τ���ɸ�ಽ������C����Ǥϡ�float�����ѿ��Ϥ��ä���double�����Ѵ�����Ƥ����������Ƥ������ᡢfloat����Ȥ��Ȥ����ä��٤��ʤäƤ��ޤ����������������ߤǤ�float����float���ΤޤޤǷ׻����뤳�Ȥ����ܤˤʤäƤ��ꡢJIS X3010:2003 6.3.18 �̾�λ��ѷ��Ѵ� �Ǥϡַ����׵᤹�����٤��ϰϤ�Ķ����ɽ�����Ƥ�褤�פȤ��������˾ö�Ū��ɽ����������Ƥ��ޤ���

�Ĥޤꡢfloat���η׻���float���ǹԤ�����ɤ⡢���ʤ�double����long double����ȤäƤ⤤���衢�Ȥ������٤Ǥ����ʤ��ΤǤ����ºݡ�¿���ν����Ϥ�float���η׻���float���ΤޤޤǹԤ��ޤ�����float����Ȥä�����FPU�Ϲ�®�˽������ޤ����ޤ��Ƥ䡢��������ɤν����Ϥǡ�FPU������ʤ���Τ䡢FPU�����äƤ�ñ���٤������ݡ��Ȥ��ʤ����ˤϡ�double����Ȥ������˹⤯�Ĥ����Ȥ�����ޤ�������ˤϡ�DSP�Υ٥�����˥åȤʤɤǤϡ�float�����Ѥε�ǽ�⤢�ä��ꤷ�ޤ���

ư��˴ؤ��Ƥϡ�float����Ȥ鷺��double��������ȤäƤ⡢�ܿ�����»�ʤ��뤳�ȤϤ���ޤ��󤬡�double����������®�Ǥ��뤳�Ȥ���Ԥ��ƻ��Ѥ��Ƥ���ΤǤ���С������̣�ǡ��ܿ�����»�ʤ��Ƥ���Ȥ�����ޤ���

�����������;��
��������Ū�褯�Τ��Ƥ��뤳�ȤǤ����������Υ��ڥ��ɤ����ǡ�¾���Υ��ڥ��ɤ���ξ��ν����η�̤ϡ����������ͤ������ξ�����礭���ʤ뤫�������ʤ뤫�Ͻ���������Ǥ����ޤ���

a == ((a / b) * b + a % b)

�Ͽ��ˤʤ�ޤ��Τǡ�2�ĤΥ��ڥ��ɤ���椬�ۤʤ���ξ�;���η�̤��������������ˤʤ�ޤ���

���Τ��ᡢ�黻��̤˰ܿ�����������뤿��ˤϡ����ä���ξ���Υ��ڥ��ɤ������ͤ���Ƥ��龦�Ⱦ�;��׻������������Ĵ�����뤫��div�ؿ���ldiv�ؿ����Ѥ���ɬ�פ�����ޤ���

C++�Ǥ⡢���ν�������;���˴ؤ��������Ʊ���ʤΤǤ�����C99�ˤʤ�ȡ����ڥ��ɤ���椬�ۤʤ���Ǥ⡢������̤�ɬ�����������˴ݤ���뤳�Ȥ����ʾ��ݾڤ����褦�ˤʤ�ޤ������Τ��Ȥϡ�������̤����������˴ݤ���ʤ������Ϥ���������ȼ�����뤳�Ȥ��Ǥ��ޤ���

���ʤ�������ʾ�Ͻ����������ư��Ǥ��ä��Ȥ��Ƥ⡢��������Ȥ��Ƥϡ������ν�������;���ο����񤤤Ͻ����Ϥ˰�¸���ʤ��Ȥߤʤ����Ȥ��Ǥ���Ϥ��Ǥ�������ϡ�C++�Ǥ��äƤ⤪���餯������ʤ��Ϥ��Ǥ����ɤ����Ƥ��԰¤ʾ��ϡ�ǰ�Τ��ᡢ�����Ϥ��Ф��������ʸ�񲽤��Ƥ����Ȥ褤�Τ��⤷��ޤ���

�ؿ��Υ��ɥ쥹�ȶ��ݥ��󥿤����
�Ƕ�ΥۥåȤ�����ʤΤǡ�˺��ʤ���������Ƥ��Ƥ����ޤ����ؿ��Υ��ɥ쥹�ȶ��ݥ��󥿤���ӤˤĤ��ƤǤ���

�եå��ؿ��ʤɡ��ä�ɬ�פ��ʤ���С����Τϲ���������ʤ��ޤޡ��ؿ��Υ���ܥ��0���Ϥ����֤��Ƥ�����ɬ�פˤʤä������Ǽºݤδؿ����֤�������Ȥ��ä���ˡ���褯�Ȥ��ޤ���

����Ū�ˤϡ�GNU�Υ�󥫥�����ץȤ�PROVIDE�ˤ�äƥ��������ʥ���ܥ����������ꡢGCC��weak alias°�����դ����ꡢ����饤�󥢥���֥��Ȥä��ꡢ����ܥ��0�����֤��륢����֥����Υ�������C�δؿ������Ȥ�ʬ������Ȥ��ä����Ǥ���

���ΤȤ����եå��ؿ���ƤӽФ��ս�Ǥϡ��ؿ���¸�ߤ��뤫�ɤ�����Ĵ�٤뤿��ˡ�0�ʶ��ݥ��󥿡ˤȤ���Ӥ�Ԥ����Ȥˤʤ�ޤ���

extern void hook(void);

if (hook != 0)
  hook();

�Ȥ�������ɸ��C�Ǥϡ������ʤ�ؿ��ؤΥݥ��󥿤���ݥ��󥿤��������ʤ�ʤ����Ȥ���������;��ݾڤ���Ƥ��ޤ�����̤Ȥ��ơ�hook�Υ��ɥ쥹��ºݤ�Ĵ�٤�ޤǤ�ʤ���hook != 0�Ͼ�˿��Ǥ����Ƚ�Ǥ��Ƥ⡢����Ǥ�������꤬�ʤ��櫓�Ǥ���

��̤Ȥ��ơ���Ŭ�����ץ������դ��ƥ���ѥ��뤹��ȡ�hook != 0����ʬ�Ͼ�˿��Ȥ��ư���졢�ºݤˤ�hook��0���ϤǤ��ꡢ�ؿ������¸�ߤ��ʤ��ˤ�ؤ�餺��hook�ؿ���ƤӽФ��Ƥ��ޤ��Ȥ��ä����֤򾷤��ޤ���

���������̾��C�λȤ��������æ������ˡ�ǡ������Ϥ˰�¸������ˡ��Ȥä���̤Ȥ��Ƶ���������ʤΤǤ���������ʾ��Ǥ⡢���ϰܿ����Τ��뵭�Ҥ�Ԥ�ʤ���Фʤ�ʤ����Ȥ�����ޤ���
�����������򤹤���ˡ�Ϥ����Ĥ���Ƥ���줿�ΤǤ������ǽ�Ū������夤����ˡ������Ҳ𤹤뤳�Ȥˤ��ޤ���

extern void hook(void);
void (* volatile func)(void) = hook;

if (func != 0)
  (*func)();

�����ǡ�func�ϴؿ��ؤΥݥ��󥿤��Ǽ���뤿����ѿ��ʤΤǤ�����volatile���դ��Ƥ���Ȥ������ݥ���ȤǤ���volatile���դ��Ƥ���ȡ�����ѥ��餬�Τ�ʤ���ˡ��func���ͤ��Ѳ����뤫�⤷��ʤ����ᡢfunc != 0����˿��Ǥ���Ȥߤʤ����Ȥ��Ǥ��ʤ��ʤ�ޤ�����̤Ȥ��ơ�func != 0��ɾ���ϴ����̤�Ԥ��뤳�Ȥˤʤ�ޤ���

(C) 2024 �֥��� JUGEM Some Rights Reserved.

Powered by ����ݥ֥���