cÓïÑÔ³£¼û±ÊÊÔÌâ¼°´ð°¸ ÏÂÔر¾ÎÄ

*c=a+b;

return (a>0 && b>0 &&(*c<0 && b<0 &&(*c>a || *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 <<<<< int a=-1; printf(\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¹Ø¼ü×Ö¡£

struct s1 {

int i: 8; int j: 4; int a: 3; double b; };

struct s2