ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

C++±ÊÊÔÌâС¼¯ºÏ-»ªÎª(ËÄ)
2011-04-17 19:12:27 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:6889´Î
Tags£ºÊÔÌâ ¼¯ºÏ »ªÎª
ÏÂÃ涨ÒåÁËÒ»¸öλ½á¹¹¡£ 
struct{ 
unsigned incon: 8; /*inconÕ¼ÓõÍ×Ö½ÚµÄ0~7¹²8λ*/ 
unsigned txcolor: 4;/*txcolorÕ¼Óøß×Ö½ÚµÄ0~3λ¹²4λ*/ 
unsigned bgcolor: 3;/*bgcolorÕ¼Óøß×Ö½ÚµÄ4~6λ¹²3λ*/ 
unsigned blink: 1; /*blinkÕ¼Óøß×ֽڵĵÚ7λ*/ 
}ch; 
λ½á¹¹³ÉÔ±µÄ·ÃÎÊÓë½á¹¹³ÉÔ±µÄ·ÃÎÊÏàͬ¡£ 
ÀýÈç: ·ÃÎÊÉÏÀýλ½á¹¹ÖеÄbgcolor³ÉÔ±¿Éд³É: 
ch.bgcolor 

×¢Òâ: 
1. λ½á¹¹ÖеijÉÔ±¿ÉÒÔ¶¨ÒåΪunsigned, Ò²¿É¶¨ÒåΪsigned, µ«µ±³ÉÔ±³¤ 
¶ÈΪ1ʱ, »á±»ÈÏΪÊÇunsignedÀàÐÍ¡£ÒòΪµ¥¸öλ²»¿ÉÄܾßÓзûºÅ¡£ 
2. λ½á¹¹ÖеijÉÔ±²»ÄÜʹÓÃÊý×éºÍÖ¸Õë, µ«Î»½á¹¹±äÁ¿¿ÉÒÔÊÇÊý×éºÍÖ¸Õë, 
Èç¹ûÊÇÖ¸Õë, Æä³ÉÔ±·ÃÎÊ·½Ê½Í¬½á¹¹Ö¸Õë¡£ 
3. λ½á¹¹×ܳ¤¶È(λÊý), ÊǸ÷¸öλ³ÉÔ±¶¨ÒåµÄλÊýÖ®ºÍ, ¿ÉÒÔ³¬¹ýÁ½¸ö×Ö 
½Ú¡£ 
4. λ½á¹¹³ÉÔ±¿ÉÒÔÓëÆäËü½á¹¹³ÉÔ±Ò»ÆðʹÓᣠ
ÀýÈç: 
struct info{ 
char name[8]; 
int age; 
struct addr address; 
float pay; 
unsigned state: 1; 
unsigned pay: 1; 
}workers;
ÉÏÀýµÄ½á¹¹¶¨ÒåÁ˹ØÓÚÒ»¸ö¹¤È˵ÄÐÅÏ¢¡£ÆäÖÐÓÐÁ½¸öλ½á¹¹³ÉÔ±, ÿ¸öλ½á 
¹¹³ÉÔ±Ö»ÓÐһλ, Òò´ËÖ»Õ¼Ò»¸ö×Ö½Úµ«±£´æÁËÁ½¸öÐÅÏ¢, ¸Ã×Ö½ÚÖеÚһλ±íʾ¹¤ 
È˵Ä״̬, µÚ¶þλ±íʾ¹¤×ÊÊÇ·ñÒÑ·¢·Å¡£Óɴ˿ɼûʹÓÃλ½á¹¹¿ÉÒÔ½ÚÊ¡´æÖü¿Õ¼ä¡£
--------------------------------------------------------------------------
22.ÏÂÃæµÄº¯ÊýʵÏÖÔÚÒ»¸ö¹Ì¶¨µÄÊýÉϼÓÉÏÒ»¸öÊý£¬ÓÐʲô´íÎ󣬸ÄÕý 
int add_n(int n) 

static int i=100; 
i+=n; 
return i; 

´ð:
ÒòΪstaticʹµÃiµÄÖµ»á±£ÁôÉϴεÄÖµ¡£
È¥µôstatic¾Í¿ÉÁË
--------------------------------------------------------------------------
23.ÏÂÃæµÄ´úÂëÓÐʲôÎÊÌâ
class A 

public: 
A() { p=this; } 
~A() { if(p!=NULL) { delete p; p=NULL; } } 
A* p; 
};
´ð:
»áÒýÆðÎÞÏ޵ݹé
--------------------------------------------------------------------------
24.
union a {
int a_int1;
double a_double;
int a_int2;
};
typedef struct
{
a a1;
char y;
} b;
class c
{
double c_double;
b b1;
a a2;
};
Êä³öcout<´ð:
VC6»·¾³ÏµóöµÄ½á¹ûÊÇ32
Áí:
ÎÒ(sun)ÔÚVC6.0+win2kÏÂ×ö¹ýÊÔÑé:
short - 2
int-4
float-4
double-8
Ö¸Õë-4
sizeof(union)£¬ÒԽṹÀïÃæsize×î´óµÄΪunionµÄsize
½âÎöCÓïÑÔÖеÄsizeof
Ò»¡¢sizeofµÄ¸ÅÄî¡¡ 
¡¡¡¡ sizeofÊÇCÓïÑÔµÄÒ»ÖÖµ¥Ä¿²Ù×÷·û£¬ÈçCÓïÑÔµÄÆäËû²Ù×÷·û++¡¢--µÈ¡£Ëü²¢²»ÊǺ¯Êý¡£sizeof²Ù×÷·ûÒÔ×Ö½ÚÐÎʽ¸ø³öÁËÆä²Ù×÷ÊýµÄ´æ´¢´óС¡£²Ù×÷Êý¿ÉÒÔÊÇÒ»¸ö±í´ïʽ»òÀ¨ÔÚÀ¨ºÅÄÚµÄÀàÐÍÃû¡£²Ù×÷ÊýµÄ´æ´¢´óСÓɲÙ×÷ÊýµÄÀàÐ;ö¶¨¡£¡¡ 
¶þ¡¢sizeofµÄʹÓ÷½·¨¡¡ 
¡¡¡¡ 1¡¢ÓÃÓÚÊý¾ÝÀàÐÍ¡¡ 
¡¡¡¡ sizeofʹÓÃÐÎʽ£ºsizeof£¨type£©¡¡ 
¡¡¡¡Êý¾ÝÀàÐͱØÐëÓÃÀ¨ºÅÀ¨×¡¡£Èçsizeof£¨int£©¡£¡¡ 
¡¡¡¡ 2¡¢ÓÃÓÚ±äÁ¿¡¡ 
¡¡¡¡ sizeofʹÓÃÐÎʽ£ºsizeof£¨var_name£©»òsizeof¡¡var_name¡¡ 
¡¡¡¡±äÁ¿Ãû¿ÉÒÔ²»ÓÃÀ¨ºÅÀ¨×¡¡£Èçsizeof¡¡(var_name)£¬sizeof¡¡var_nameµÈ¶¼ÊÇÕýÈ·ÐÎʽ¡£´øÀ¨ºÅµÄÓ÷¨¸üÆձ飬´ó¶àÊý³ÌÐòÔ±²ÉÓÃÕâÖÖÐÎʽ¡£¡¡ 
¡¡¡¡×¢Ò⣺sizeof²Ù×÷·û²»ÄÜÓÃÓÚº¯ÊýÀàÐÍ£¬²»ÍêÈ«ÀàÐÍ»òλ×ֶΡ£²»ÍêÈ«ÀàÐÍÖ¸¾ßÓÐδ֪´æ´¢´óСµÄÊý¾ÝÀàÐÍ£¬Èçδ֪´æ´¢´óСµÄÊý×éÀàÐÍ¡¢Î´ÖªÄÚÈݵĽṹ»òÁªºÏÀàÐÍ¡¢voidÀàÐ͵ȡ£¡¡ 
¡¡¡¡Èçsizeof(max)Èô´Ëʱ±äÁ¿max¶¨ÒåΪint¡¡max(),sizeof(char_v)¡¡Èô´Ëʱchar_v¶¨ÒåΪchar¡¡char_v¡¡[MAX]ÇÒMAXδ֪£¬sizeof(void)¶¼²»ÊÇÕýÈ·ÐÎʽ¡£¡¡ 
Èý¡¢sizeofµÄ½á¹û¡¡ 
¡¡¡¡ sizeof²Ù×÷·ûµÄ½á¹ûÀàÐÍÊÇsize_t£¬ËüÔÚÍ·Îļþ 
ÖÐtypedefΪunsigned¡¡intÀàÐÍ¡£¸ÃÀàÐͱ£Ö¤ÄÜÈÝÄÉʵÏÖËù½¨Á¢µÄ×î´ó¶ÔÏóµÄ×Ö½Ú´óС¡£¡¡ 
¡¡¡¡ 1¡¢Èô²Ù×÷Êý¾ßÓÐÀàÐÍchar¡¢unsigned¡¡char»òsigned¡¡char£¬Æä½á¹ûµÈÓÚ1¡£¡¡ 
¡¡¡¡ ANSI¡¡CÕýʽ¹æ¶¨×Ö·ûÀàÐÍΪ1×Ö½Ú¡£¡¡ 
¡¡¡¡ 2¡¢int¡¢unsigned¡¡int¡¡¡¢short¡¡int¡¢unsigned¡¡short¡¡¡¢long¡¡int¡¡¡¢unsigned¡¡long¡¡¡¢ float¡¢double¡¢long¡¡doubleÀàÐ͵Äsizeof¡¡ÔÚANSI¡¡CÖÐûÓоßÌå¹æ¶¨£¬´óСÒÀÀµÓÚʵÏÖ£¬Ò»°ã¿ÉÄÜ·Ö±ðΪ2¡¢2¡¢2¡¢2¡¢ 4¡¢4¡¢4¡¢8¡¢10¡£¡¡ 
¡¡¡¡ 3¡¢µ±²Ù×÷ÊýÊÇÖ¸Õëʱ£¬sizeofÒÀÀµÓÚ±àÒëÆ÷¡£ÀýÈçMicrosoft¡¡C/C++(www.cppentry.com)7.0ÖУ¬nearÀàÖ¸Õë×Ö½ÚÊýΪ2£¬far¡¢hugeÀàÖ¸Õë×Ö½ÚÊýΪ4¡£Ò»°ãUnixµÄÖ¸Õë×Ö½ÚÊýΪ4¡£¡¡ 
¡¡¡¡ 4¡¢µ±²Ù×÷Êý¾ßÓÐÊý×éÀàÐÍʱ£¬Æä½á¹ûÊÇÊý×éµÄ×Ü×Ö½ÚÊý¡£¡¡ 
¡¡¡¡ 5¡¢ÁªºÏÀàÐͲÙ×÷ÊýµÄsizeofÊÇÆä×î´ó×Ö½Ú³ÉÔ±µÄ×Ö½ÚÊý¡£½á¹¹ÀàÐͲÙ×÷ÊýµÄsizeofÊÇÕâÖÖÀàÐͶÔÏóµÄ×Ü×Ö½ÚÊý£¬°üÀ¨Èκε油ÔÚÄÚ¡£¡¡ 
¡¡¡¡ÈÃÎÒÃÇ¿´ÈçϽṹ£º¡¡ 
¡¡¡¡ struct¡¡{char¡¡b;¡¡double¡¡x;}¡¡a;¡¡ 
¡¡¡¡ÔÚijЩ»úÆ÷ÉÏsizeof£¨a£©=12£¬¶øÒ»°ãsizeof£¨char£©+¡¡sizeof£¨double£©=9¡£¡¡ 
¡¡¡¡ÕâÊÇÒòΪ±àÒëÆ÷ÔÚ¿¼ÂǶÔÆëÎÊÌâʱ£¬ÔڽṹÖвåÈë¿ÕλÒÔ¿ØÖƸ÷³ÉÔ±¶ÔÏóµÄµØÖ·¶ÔÆë¡£ÈçdoubleÀàÐ͵Ľṹ³ÉÔ±xÒª·ÅÔÚ±»4Õû³ýµÄµØÖ·¡£¡¡ 
¡¡¡¡ 6¡¢Èç¹û²Ù×÷ÊýÊǺ¯ÊýÖеÄÊý×éÐβλòº¯ÊýÀàÐ͵ÄÐβΣ¬sizeof¸ø³öÆäÖ¸ÕëµÄ´óС¡£¡¡ 
ËÄ¡¢sizeofÓëÆäËû²Ù×÷·ûµÄ¹Øϵ¡¡ 
¡¡¡¡ sizeofµÄÓÅÏȼ¶Îª2¼¶£¬±È/¡¢%µÈ3¼¶ÔËËã·ûÓÅÏȼ¶¸ß¡£Ëü¿ÉÒÔÓëÆäËû²Ù×÷·ûÒ»Æð×é³É±í´ïʽ¡£Èçi*sizeof£¨int£©£»ÆäÖÐiΪintÀàÐͱäÁ¿¡£¡¡ 
Îå¡¢sizeofµÄÖ÷ÒªÓÃ;¡¡ 
¡¡¡¡ 1¡¢sizeof²Ù×÷·ûµÄÒ»¸öÖ÷ÒªÓÃ;ÊÇÓë´æ´¢·ÖÅäºÍI/OϵͳÄÇÑùµÄÀý³Ì½øÐÐͨÐÅ¡£ÀýÈ磺
Ê×Ò³ ÉÏÒ»Ò³ 1 2 3 4 5 6 7 ÏÂÒ»Ò³ βҳ 4/7/7
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºC++ÃæÊÔÎÊÌâ-»ªÎª ÏÂһƪ£ºC++±ÊÊÔÊÔÌâ-»ªÎª

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿