¸ø¶¨½á¹¹struct A { char t:4; 4λ char k:4; 4λ unsigned short i:8; 8λ unsigned long m; // Æ«ÒÆ2×Ö½Ú±£Ö¤4×Ö½Ú¶ÔÆë }; // ¹²8×Ö½Ú 2)ÏÂÃæµÄº¯ÊýʵÏÖÔÚÒ»¸öÊýÉϼÓÒ»¸öÊý£¬ÓÐʲô´íÎó£¿Çë¸ÄÕý¡£ int add_n ( int n ) { static int i = 100; i += n; return i; } µ±ÄãµÚ¶þ´Îµ÷ÓÃʱµÃ²»µ½ÕýÈ·µÄ½á¹û£¬ÄѵÀÄãд¸öº¯Êý¾ÍÊÇΪÁ˵÷ÓÃÒ»´Î£¿ÎÊÌâ¾Í³öÔÚ staticÉÏ£¿ // °ïæ·ÖÎöһϠ#include #include #include #include #include #include typedef struct AA { int b1:5; int b2:2; }AA; void main() { AA aa; char cc[100]; strcpy(cc,¡±0123456789abcdefghijklmnopqrstuvwxyz¡±); cout<
memcpy(&aa,cc,sizeof(AA)); cout << aa.b1
´ð°¸ÊÇ -16ºÍ£± Ê×ÏÈsizeof(AA)µÄ´óСΪ4,b1ºÍb2·Ö±ðÕ¼5bitºÍ2bit. ¾¹ýstrcpyºÍmemcpyºó,aaµÄ4¸ö×Ö½ÚËù´æ·ÅµÄÖµÊÇ: 0,1,2,3µÄASCÂ룬¼´00110000,00110001,00110010,00110011 ËùÒÔ£¬×îºóÒ»²½£ºÏÔʾµÄÊÇÕ⣴¸ö×Ö½ÚµÄÇ°£µÎ»£¬ºÍÖ®ºóµÄ£²Î» ·Ö±ðΪ£º10000,ºÍ01 ÒòΪintÊÇÓÐÕý¸ºÖ®·Ö ËùÒÔ£º´ð°¸ÊÇ-16ºÍ£± Çóº¯Êý·µ»ØÖµ£¬ÊäÈëx=9999; int func £¨ x £© { int countx = 0; while ( x ) { countx ++; x = x&(x-1); } return countx; } ½á¹ûÄØ£¿ ÖªµÀÁËÕâÊÇͳ¼Æ9999µÄ¶þ½øÖÆÊýÖµÖÐÓжàÉÙ¸ö1µÄº¯Êý£¬ÇÒÓÐ 9999£½9¡Á1024£«512£«256£«15 9¡Á1024Öк¬ÓÐ1µÄ¸öÊýΪ2£» 512Öк¬ÓÐ1µÄ¸öÊýΪ1£» 256Öк¬ÓÐ1µÄ¸öÊýΪ1£» 15Öк¬ÓÐ1µÄ¸öÊýΪ4£» ¹Ê¹²ÓÐ1µÄ¸öÊýΪ8£¬½á¹ûΪ8¡£ 1000 - 1 = 0111£¬ÕýºÃÊÇÔÊýÈ¡·´¡£Õâ¾ÍÊÇÔÀí¡£ ÓÃÕâÖÖ·½·¨À´Çó1µÄ¸öÊýÊǺÜЧÂʺܸߵġ£ ²»±ØÈ¥Ò»¸öÒ»¸öµØÒÆλ¡£Ñ»·´ÎÊý×îÉÙ¡£ int a,b,c Çëдº¯ÊýʵÏÖC=a+b ,²»¿ÉÒԸıäÊý¾ÝÀàÐÍ,È罫c¸ÄΪlong int,¹Ø¼üÊÇÈçºÎ ´¦ÀíÒç³öÎÊÌâ bool add (int a, int b,int *c) { *c=a+b; return (a>0 && b>0 &&(*ca || *c>b))); } ·ÖÎö£º struct bit { int a:3; int b:2; int c:3; }; int main() { bit s; char *c=(char*)&s; cout<*c=0x99; cout << s.a
printf("%x",a); return 0; } Êä³öΪʲôÊÇ 4 1 -1 -4 ffffffff ÒòΪ0x99ÔÚÄÚ´æÖбíʾΪ 100 11 001 , a = 001, b = 11, c = 100 µ±cΪÓзûºÏÊýʱ, c = 100, ×î¸ß1Ϊ±íʾcΪ¸ºÊý£¬¸ºÊýÔÚ¼ÆËã»úÓò¹Âë±íʾ£¬ËùÒÔc = -4;ͬÀí b = -1; µ±cΪÓзûºÏÊýʱ, c = 100,¼´ c = 4,ͬÀí b = 3 λÓò £º ÓÐЩÐÅÏ¢Ôڴ洢ʱ£¬²¢²»ÐèÒªÕ¼ÓÃÒ»¸öÍêÕûµÄ×Ö½Ú£¬ ¶øÖ»ÐèÕ¼¼¸¸ö»òÒ»¸ö¶þ½øÖÆλ¡£Àý ÈçÔÚ´æ·ÅÒ»¸ö¿ª¹ØÁ¿Ê±£¬Ö»ÓÐ0ºÍ1 Á½ÖÖ״̬£¬ÓÃһλ¶þ½øλ¼´¿É¡£ÎªÁ˽ÚÊ¡´æ´¢¿Õ¼ä£¬ ²¢Ê¹´¦Àí¼ò±ã£¬£ÃÓïÑÔÓÖÌṩÁËÒ»ÖÖÊý¾Ý½á¹¹£¬³ÆΪ¡°Î»Óò¡±»ò¡°Î»¶Î¡±¡£Ëùν¡°Î» Óò¡±ÊÇ°ÑÒ»¸ö×Ö½ÚÖеĶþ½øλ»®·ÖΪ¼¸¸ö²»Í¬µÄÇøÓò£¬ ²¢ËµÃ÷ÿ¸öÇøÓòµÄλÊý¡£Ã¿¸öÓò ÓÐÒ»¸öÓòÃû£¬ÔÊÐíÔÚ³ÌÐòÖа´ÓòÃû½øÐвÙ×÷¡£ÕâÑù¾Í¿ÉÒ԰Ѽ¸¸ö²»Í¬µÄ¶ÔÏóÓÃÒ»¸ö×Ö½Ú µÄ¶þ½øÖÆλÓòÀ´±íʾ¡£Ò»¡¢Î»ÓòµÄ¶¨ÒåºÍλÓò±äÁ¿µÄ˵Ã÷λÓò¶¨ÒåÓë½á¹¹¶¨ÒåÏà·Â£¬Æä ÐÎʽΪ£º struct λÓò½á¹¹Ãû { λÓòÁбí }; ÆäÖÐλÓòÁбíµÄÐÎʽΪ£º ÀàÐÍ˵Ã÷·û λÓòÃû£ºÎ»Óò³¤¶È ÀýÈ磺 struct bs { int a:8; int b:2; int c:6; }; λÓò±äÁ¿µÄ˵Ã÷Óë½á¹¹±äÁ¿ËµÃ÷µÄ·½Ê½Ïàͬ¡£ ¿É²ÉÓÃÏȶ¨Òåºó˵Ã÷£¬Í¬Ê±¶¨Òå˵Ã÷»òÕß Ö±½Ó˵Ã÷ÕâÈýÖÖ·½Ê½¡£ÀýÈ磺 struct bs { int a:8; int b:2; int c:6; }data; ˵Ã÷dataΪbs±äÁ¿£¬¹²Õ¼Á½¸ö×Ö½Ú¡£ÆäÖÐλÓòaÕ¼8λ£¬Î»ÓòbÕ¼2λ£¬Î»ÓòcÕ¼6λ¡£¶ÔÓÚ Î»ÓòµÄ¶¨ÒåÉÐÓÐÒÔϼ¸µã˵Ã÷£º 1. Ò»¸öλÓò±ØÐë´æ´¢ÔÚͬһ¸ö×Ö½ÚÖУ¬²»ÄÜ¿çÁ½¸ö×Ö½Ú¡£ÈçÒ»¸ö×Ö½ÚËùÊ£¿Õ¼ä²»¹»´æ·Å ÁíһλÓòʱ£¬Ó¦´ÓÏÂÒ»µ¥ÔªÆð´æ·Å¸ÃλÓò¡£Ò²¿ÉÒÔÓÐÒâʹijλÓò´ÓÏÂÒ»µ¥Ôª¿ªÊ¼¡£Àý È磺 struct bs { unsigned a:4 unsigned :0 /*¿ÕÓò*/ unsigned b:4 /*´ÓÏÂÒ»µ¥Ôª¿ªÊ¼´æ·Å*/ unsigned c:4 } ÔÚÕâ¸öλÓò¶¨ÒåÖУ¬aÕ¼µÚÒ»×Ö½ÚµÄ4룬ºó4λÌî0±íʾ²»Ê¹Óã¬b´ÓµÚ¶þ×Ö½Ú¿ªÊ¼£¬Õ¼Óà 4룬cÕ¼ÓÃ4λ¡£ 2. ÓÉÓÚλÓò²»ÔÊÐí¿çÁ½¸ö×Ö½Ú£¬Òò´ËλÓòµÄ³¤¶È²»ÄÜ´óÓÚÒ»¸ö×ֽڵij¤¶È£¬Ò²¾ÍÊÇ˵²» Äܳ¬¹ý8λ¶þ½øλ¡£ 3. λÓò¿ÉÒÔÎÞλÓòÃû£¬ÕâʱËüÖ»ÓÃÀ´×÷Ìî³ä»òµ÷ÕûλÖá£ÎÞÃûµÄλÓòÊDz»ÄÜʹÓõġ£Àý È磺 struct k { int a:1 int :2 /*¸Ã2λ²»ÄÜʹÓÃ*/ int b:3 int c:2 }; ´ÓÒÔÉÏ·ÖÎö¿ÉÒÔ¿´³ö£¬Î»ÓòÔÚ±¾ÖÊÉϾÍÊÇÒ»ÖֽṹÀàÐÍ£¬ ²»¹ýÆä³ÉÔ±ÊÇ°´¶þ½øλ·ÖÅä µÄ¡£ ¶þ¡¢Î»ÓòµÄʹÓÃλÓòµÄʹÓúͽṹ³ÉÔ±µÄʹÓÃÏàͬ£¬ÆäÒ»°ãÐÎʽΪ£º λÓò±äÁ¿Ãû λÓò Ãû λÓòÔÊÐíÓø÷ÖÖ¸ñʽÊä³ö¡£ main(){ struct bs { unsigned a:1; unsigned b:3; unsigned c:4; } bit,*pbit; bit.a=1; bit.b=7; bit.c=15; pri ¸Ä´í£º #include int main(void) { int **p; int arr[100]; p = &arr; return 0; } ½â´ð£º ¸ã´íÁË,ÊÇÖ¸ÕëÀàÐͲ»Í¬, int **p; //¶þ¼¶Ö¸Õë &arr; //µÃµ½µÄÊÇÖ¸ÏòµÚһάΪ100µÄÊý×éµÄÖ¸Õë #include int main(void) { int **p, *q; int arr[100]; q = arr; p = &q; return 0; } ÏÂÃæÕâ¸ö³ÌÐòÖ´Ðкó»áÓÐʲô´íÎó»òÕßЧ¹û: #define MAX 255 int main() { unsigned char A[MAX],i;//i±»¶¨ÒåΪunsigned char for (i=0;i<=MAX;i++) A[i]=i; } ½â´ð£ºËÀÑ»·¼ÓÊý×éÔ½½ç·ÃÎÊ£¨C/C++²»½øÐÐÊý×éÔ½½ç¼ì²é£© MAX=255 Êý×éAµÄϱ귶ΧΪ:0..MAX-1,ÕâÊÇÆäÒ».. Æä¶þ.µ±iÑ»·µ½255ʱ,Ñ»·ÄÚÖ´ÐÐ: A[255]=255; Õâ¾ä±¾ÉíûÓÐÎÊÌâ..µ«ÊÇ·µ»Øfor (i=0;i<=MAX;i++)Óï¾äʱ, ÓÉÓÚunsigned charµÄÈ¡Öµ·¶Î§ÔÚ(0..255),i++ÒÔºóiÓÖΪ0ÁË..ÎÞÏÞÑ»·ÏÂÈ¥. struct name1{ char str; short x; int num; } struct name2{ char str; int num; short x; } sizeof(struct name1)=8,sizeof(struct name2)=12 ÔÚµÚ¶þ¸ö½á¹¹ÖУ¬Îª±£Ö¤num°´Ëĸö×Ö½Ú¶ÔÆ룬charºó±ØÐëÁô³ö3×ֽڵĿռ䣻ͬʱΪ±£ Ö¤Õû¸ö½á¹¹µÄ×ÔÈ»¶ÔÆ루ÕâÀïÊÇ4×Ö½Ú¶ÔÆ룩£¬ÔÚxºó»¹Òª²¹Æë2¸ö×Ö½Ú£¬ÕâÑù¾ÍÊÇ12×Ö ½Ú¡£ intel£º A.c ºÍB.cÁ½¸öcÎļþÖÐʹÓÃÁËÁ½¸öÏàͬÃû×ÖµÄstatic±äÁ¿,±àÒëµÄʱºò»á²»»áÓÐÎÊÌâ Õâ Á½¸östatic±äÁ¿»á±£´æµ½ÄÄÀջ»¹ÊǶѻòÕßÆäËûµÄ£© staticµÄÈ«¾Ö±äÁ¿£¬±íÃ÷Õâ¸ö±äÁ¿½öÔÚ±¾Ä£¿éÖÐÓÐÒâÒ壬²»»áÓ°ÏìÆäËûÄ£¿é¡£ ËûÃǶ¼·ÅÔÚÊý¾ÝÇø£¬µ«ÊDZàÒëÆ÷¶ÔËûÃǵÄÃüÃûÊDz»Í¬µÄ¡£ Èç¹ûҪʹ±äÁ¿ÔÚÆäËûÄ£¿éÒ²ÓÐÒâÒåµÄ»°£¬ÐèҪʹÓÃextern¹Ø¼ü |