3.1.7Çó×Ö½ÚÊýÔËËã·û
¡¡¡¡c++ÌṩÁËÒ»¸öÓÐÓõÄÔËËã·ûsizeof£¬ËüÊÇÒ»¸öµ¥Ä¿ÔËËã·û£¬ÓÃÓÚ¼ÆËã±í´ïʽ»òÊý¾ÝÀàÐ͵Ä×Ö½ÚÊý£¬ÆäÔËËã½á¹ûÓ벻ͬµÄ±àÒëÆ÷ºÍ»úÆ÷Ïà¹Ø¡£µ±±àдÓÃÓÚ½øÐÐÎļþÊäÈë/Êä³ö²Ù×÷»ò¸ø¶¯Ì¬Áбí·ÖÅäÄÚ´æµÄ³ÌÐòʱ£¬Óû§½«·¢ÏÖ£¬ÈçÄÜÖªµÀ³ÌÐò¸øÕâÐ©ÌØ¶¨±äÁ¿Ëù·ÖÅäÄÚ´æµÄ´óС½«»áºÜ·½±ã¡£ ÀýÈç3-1£º
¡¡¡¡µ±ÎÒÃǽøÐÐËãÊõÔËËãʱ£¬Èç¹ûÔËËã½á¹û³¬³ö±äÁ¿ËùÄܱí´ïµÄÊý¾Ý·¶Î§Ê±£¬¾Í»á·¢ÉúÒç³ö¡£¶øÀûÓÃsizeofÔËËã·û¼ÆËã±äÁ¿ËùÕ¼µÄ×Ö½ÚÊý£¬Ò²¾ÍÊÇ˵£¬¿ÉÒÔËã³ö±äÁ¿µÄÊý¾Ý·¶Î§£¬´Ó¶ø¿ÉÒÔ±ÜÃâ¿ÉÄܳöÏֵĴíÎó¡£
|
Àý3-1 |
| |
#include int main (void) { ¡¡cout << "char size = " << sizeof(char) << " bytes\n"; ¡¡cout << "char* size = " << sizeof(char*) << " bytes\n"; ¡¡cout << "short size = " << sizeof(short) << " bytes\n"; ¡¡cout << "int size = " << sizeof(int) << " bytes\n"; ¡¡cout << "long size = " << sizeof(long) << " bytes\n"; ¡¡cout << "float size = " << sizeof(float) << " bytes\n"; ¡¡cout << "double size = " << sizeof(double) << " bytes\n"; ¡¡cout << "1.55 size = " << sizeof(1.55) << " bytes\n"; ¡¡cout << "1.55l size = " << sizeof(1.55l) << " bytes\n"; ¡¡cout << "hello size = " << sizeof("hello") << " bytes\n"; } ÎÒÃÇÔËÐÐÕâ¸ö³ÌÐò£¬²úÉúÏÂÃæµÄ½á¹û£¨ÔÚ×÷ÕßµÄpc»úÉÏ£©£º char size = 1 bytes char* size = 2 bytes short size = 2 bytes int size = 2 bytes long size = 4 bytes float size = 4 bytes double size = 8 bytes 1.55 size = 8 bytes 1.55l size = 10 bytes hello size = 6 bytes |
|
|
|
±í3-10 |
| |
| ÀàÐÍ |
ÔËËã |
ÔËËã·û |
| Çó×Ö½ÚÊýÔËËã·û |
Çó×Ö½Ú´óС |
sizeof | |
|
¡¡¡¡ÏÂ±í¸ø³öÁ˳£ÓÃÊý¾ÝÀàÐ͵Ä×Ö½ÚÊý¡£¾ßÌåµÄÀý×ӿɲο¼ÊéÖиø³öµÄÀý×Ó¡£µ±ÎÒÃǽøÐÐËãÊõÔËËãʱ£¬Èç¹ûÔËËã½á¹û³¬³ö±äÁ¿ËùÄܱí´ïµÄÊý¾Ý·¶Î§Ê±£¬¾Í»á·¢ÉúÒç³ö¡£Èç¹ûÎÒÃÇÄܹ»ÀûÓÃsizeofÔËËã·û¼ÆËã±äÁ¿ËùÕ¼µÄ×Ö½ÚÊý£¬¾Í¿ÉËã³ö±äÁ¿µÄÊý¾Ý·¶Î§£¬´Ó¶ø¿ÉÒÔ±ÜÃâ¿ÉÄܳöÏֵĴíÎó¡£
¡¡¡¡ÏÂ±í¸ø³öÁ˳£ÓÃÊý¾ÝÀàÐ͵Ä×Ö½ÚÊý¡£¾ßÌåµÄÀý×ӿɲο¼ÊéÖиø³öµÄÀý×Ó¡£
|
|
±í3-11 |
| |
| Êý¾ÝÀàÐÍ |
Õ¼ÓÃ×Ö½ÚÊý |
| char |
1 |
| char * |
4 |
| short |
2 |
| int |
4£¨vc 6.0£©2 (vc 1.5x) |
| long |
4 |
| float |
4 |
| double |
8 | |
u#e2€1$1lNON_7g,uc [ ±¾ ×Ê ÁÏ À´ Ô´ ÓÚ ¹ó ÖÝ Ñ§ ϰ Íø ITÈÏ֤ȫ¹ú¼ÆËã»úµÈ¼¶¿¼ÊÔ http://Www.gzU521.com ] u#e2€1$1lNON_7g,uc