- 相關(guān)推薦
精心整理的關(guān)于c語言?嫉墓P試題
一、 想說一說關(guān)于集中數(shù)據(jù)類型的sizeof問題,這題出現(xiàn)率40%
sizeof就是求在內(nèi)存總占多少字節(jié)的問題,最基本的char 1字節(jié) short 2字節(jié) int 4字節(jié)
任何的指針都是4字節(jié) sizeof(數(shù)組名)=數(shù)組占的大小(這里必須注意雖然數(shù)組名可作為只想數(shù)組首地址的指針,但是sizeof(數(shù)組名)求得的不是指針的大小,而是數(shù)組大小)
還有就是sizeof(結(jié)構(gòu)體) sizeof(聯(lián)合體)
舉兩個(gè)例子 struct stu {
Char a;
Int b;
Char c;
};
struct teacher {
Char a;
Char c;
Int b;
};
Sizeof (stu) =12 ;內(nèi)存中這樣存儲(chǔ) char 空空空 int char 空空空
內(nèi)存4字節(jié)對(duì)其問題
Sizeof (teacher) =8 ;內(nèi)存中這樣存儲(chǔ) char char空空 int
關(guān)于聯(lián)合體
Union std{
Char a[10];
Int b[3];
}
Sizeof(std)=12; 聯(lián)合體公用內(nèi)存,取其中所占內(nèi)存最大的元素為聯(lián)合體所占內(nèi)存
以下為Windows NT下的32位C++程序,請(qǐng)計(jì)算sizeof的值
char str[] = “Hello” ;
char *p = str ;
int n = 10;
1. 請(qǐng)計(jì)算
sizeof (str ) = 6
sizeof ( p ) = 4
sizeof ( n ) = 4
void Func ( char str[100])
{
請(qǐng)計(jì)算
sizeof( str ) = 4
}
void *p = malloc( 100 );
請(qǐng)計(jì)算
sizeof ( p ) = 4
還有位段的問題如下
分析:
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("%x",a);
return 0;
}
輸出為什么是
4
1
-1
-4
ffffffff
因?yàn)?x99在內(nèi)存中表示為 100 11 001 , a = 001, b = 11, c = 100
當(dāng)c為有符合數(shù)時(shí), c = 100, 最高1為表示c為負(fù)數(shù),負(fù)數(shù)在計(jì)算機(jī)用補(bǔ)碼表示,所以c = -4;同理
b = -1;
當(dāng)c為有符合數(shù)時(shí), c = 100,即 c = 4,同理 b = 3
【精心整理的c語言?嫉墓P試題】相關(guān)文章:
中考?嫉某烧Z09-18
精選的高考?汲烧Z10-25
C/C++筆試題目大全08-22
經(jīng)典的高考?汲烧Z大全09-28
經(jīng)典高考常考成語大全10-11
小學(xué)常考的成語大全08-28
高考?汲烧Z大全【精選】08-01
高考?嫉某烧Z大全及解釋06-01
德勤CLUB筆試題整理09-03
有關(guān)中考?嫉某烧Z及解釋06-04