您好,登錄后才能下訂單哦!
*答案在末尾!
1、寫出bool、float、指針變量與“零值”比較的if語(yǔ)句;
2、在linux32位操作系統(tǒng)下,計(jì)算sizeof的值;
char str[] = “heoll”;
char* p = str;
int n;
void fun(int arr[])
{}
void* ptr = malloc(168);
sizeof(str);sizeof(p);sizeof(n);sizeof(arr);sizeof(ptr);
3、給出下列的定義
a、一個(gè)有10個(gè)指針的數(shù)組,該指針的是指向一個(gè)整型的;
b、一個(gè)指向有10個(gè)整型數(shù)組的指針;
c、一個(gè)指向函數(shù)的指針,該函數(shù)有一個(gè)整數(shù)參數(shù)并返回整型;
d、一個(gè)有10個(gè)指針的數(shù)組,指針指向一個(gè)函數(shù),該函數(shù)有一個(gè)整型參數(shù)并返回整型;
4、以下代碼有什么問(wèn)題?
int main()
{
char a;
char* str = &a;
strcpy(str,“hello”);
printf(str);
return 0;
}
5、以下代碼有什么問(wèn)題?
str = “aaa”;
printf("%s\n",str);
str[0] = 'A';
printf("%s\n",str);
6、C/C++中的struct有什么不同?
7、以下代碼有什么問(wèn)題?
void getmetmemory(char *p)
{
p = (char*)malloc(100);
strcpy(p,"hello world");
}
int main()
{
char* str = NULL;
getmemory(str);
printf("%s\n"str);
free(str);
return 0;
}
8、以下代碼會(huì)產(chǎn)生什么結(jié)果,為什么?
char str[10];
strcpy(str."0123456789");
9、volatile關(guān)鍵字的作用;
/*************************************************************
答案
/*************************************************************
1、一般規(guī)范的:
bool:if(falg) if(!flag)
float:const float EPS = 0.000001; if((x >= -EPS )&&(x <= EPS))
指針:if(p == NULL) if(p != NULL)
2、6、4、4、4、4;
3、int* a[10]; int(*a)[10]; int (*a)(int); int (*a[10])(int);
4、沒(méi)有為str分配內(nèi)存空間,將一個(gè)字符串拷貝到一個(gè)字符變量指針?biāo)傅刂贰?梢猿鲱A(yù)期結(jié)果
但是越界進(jìn)行讀寫導(dǎo)致程序崩潰。
5、“aaa”是字符串常量,str是指針,指向這個(gè)字符串常量,所以聲明str的時(shí)候就有問(wèn)題了。
又const char* str = “aaa”;是常量對(duì)str[0]的賦值操作是不合法的。
6、重要區(qū)別是C中struct不可以包含成員函數(shù),而在C++中它就是一個(gè)類只是默認(rèn)是public的罷了。
7、p傳給getmemory函數(shù)的是p的一個(gè)副本,在函數(shù)體為p開(kāi)辟了空間超了函數(shù)體p還給還給操作系統(tǒng)了,
p所指向的內(nèi)存空間沒(méi)有釋放導(dǎo)致內(nèi)存泄漏。
8、str越界寫入數(shù)據(jù),會(huì)導(dǎo)致段錯(cuò)誤。
9、一個(gè)定義為volatile的變量表示該變量會(huì)經(jīng)常被改變。多用于下面三個(gè)地方
(1)、中斷服務(wù)程序中修改的供其它程序檢測(cè)的變量需要加volatile;
(2)、多任務(wù)環(huán)境下各任務(wù)間共享的標(biāo)志應(yīng)該加volatile;
(3)、存儲(chǔ)器映射的硬件寄存器通常也要加volatile說(shuō)明,因?yàn)槊看螌?duì)它的讀寫都可能由不同意義;
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。