c语言怎么编辑错题本,嵌入式错题本
做嵌入式題時(shí)候的錯(cuò)題本:
1.在c語(yǔ)言中,一個(gè)函數(shù)不寫(xiě)返回值類(lèi)型,默認(rèn)的返回類(lèi)型是int
2.在C語(yǔ)言中的sizeof既是運(yùn)算符也是關(guān)鍵字(strlen是函數(shù),順便復(fù)習(xí)一下他兩個(gè)的區(qū)別:https://blog.csdn.net/ice_masters/article/details/104928460中第一題)
3.
void main (void) {
char a[] = “SF-TECH” ;
a++;
printf (“%s”, a);
}程序的輸出是:都不是!a不是指針變量,不能自增
void main (void) {
printf(“%d”,’B’ < ‘A’ );
}程序輸出false,ASCII表中A65.B66
5.C語(yǔ)言的發(fā)明者Dennis Ritchie和Ken Thompson,貼一個(gè)鏈接故事:C語(yǔ)言的起源
6.
C庫(kù)中處理變長(zhǎng)參數(shù)的頭文件是stdarg.h,這個(gè)知識(shí)點(diǎn)不清楚,我們繼續(xù)查一下資料:百科中關(guān)于stdarg.h的知識(shí)
7.char是有符號(hào)還是無(wú)符號(hào)類(lèi)型?答案是取決于具體實(shí)現(xiàn)
8.在ARM調(diào)用標(biāo)準(zhǔn)(ATPC)中,函數(shù)的參數(shù)是怎么傳遞?答案是: 這個(gè)也給鏈接ARM系統(tǒng)中函數(shù)調(diào)用過(guò)程中的參數(shù)傳遞
9.在ARM cortex M系列中, 哪些寄存器是分組寄存器:通用寄存器(R0~R15)可分成不分組寄存器R0~R7、分組寄存器R8~R14和程序計(jì)數(shù)器R15 三類(lèi)寄存器介紹
10.支持時(shí)間片輪轉(zhuǎn)調(diào)度的實(shí)時(shí)操作系統(tǒng)中,下面哪些情況會(huì)發(fā)生任務(wù)切換:進(jìn)程使用互斥鎖,互斥鎖不可用時(shí);進(jìn)程主動(dòng)休眠;進(jìn)程被撤銷(xiāo);進(jìn)程當(dāng)前時(shí)間片使用完
11.C庫(kù)函數(shù)中malloc依賴(lài)下面哪個(gè)系統(tǒng)調(diào)用增長(zhǎng)堆空間:sbrk
open:打開(kāi)和創(chuàng)建文件;
ioctl:設(shè)備輸入輸出操作的系統(tǒng)調(diào)用;
sbrk:實(shí)現(xiàn)虛擬內(nèi)存到內(nèi)存的映射;
write:將數(shù)據(jù)寫(xiě)入一個(gè)打開(kāi)的文件。
12.浮點(diǎn)數(shù)算術(shù)標(biāo)準(zhǔn)是以下哪一個(gè):IEEE二進(jìn)制浮點(diǎn)數(shù)算術(shù)標(biāo)準(zhǔn)(IEEE 754)
13.inux進(jìn)程中,應(yīng)用的運(yùn)行起始地址是一樣的,是如何做到的:使用虛擬內(nèi)存轉(zhuǎn)換
14.Linux程序運(yùn)行后,文件句柄0,1,2分別是標(biāo)準(zhǔn)輸入,標(biāo)準(zhǔn)輸出,標(biāo)準(zhǔn)錯(cuò)誤
15.可使用下列哪個(gè)工具將.o文件打包成庫(kù)文件:ar(Linux ar命令用于建立或修改備存文件,或是從備存文件中抽取文件。ar可讓您集合許多文件,成為單一的備存文件。在備存文件中,所有成員文件皆保有原來(lái)的屬性與權(quán)限。)
16.32位平臺(tái)上struct { unsigned char a; int b; short c } s;請(qǐng)問(wèn)s的起始地址下面說(shuō)法正確的是哪一個(gè):四字節(jié)對(duì)齊字節(jié)對(duì)齊
17.2位平臺(tái)上struct { unsigned char a; int b; short c } s,請(qǐng)問(wèn)s的長(zhǎng)度是多少:12.參考上面的字節(jié)對(duì)齊的相關(guān)知識(shí)
18.有個(gè)函數(shù)位于0x20000000處,輸入?yún)?shù)為int類(lèi)型,輸出為void類(lèi)型,調(diào)用該函數(shù)代碼正確的是:
來(lái)個(gè)鏈接:指定某個(gè)函數(shù)或變量存放的地址
插播一個(gè)內(nèi)存回顧
bss段: bss段(bss segment)通常是指用來(lái)存放程序中未初始化的全局變量的一塊內(nèi)存區(qū)域。 bss是英文Block Started by Symbol的簡(jiǎn)稱(chēng)。 bss段屬于靜態(tài)內(nèi)存分配。 data段: 數(shù)據(jù)段(data segment)通常是指用來(lái)存放程序中已初始化的全局變量的一塊內(nèi)存區(qū)域。 數(shù)據(jù)段屬于靜態(tài)內(nèi)存分配。 text段: 代碼段(code segment/text segment)通常是指用來(lái)存放程序執(zhí)行代碼的一塊內(nèi)存區(qū)域。 這部分區(qū)域的大小在程序運(yùn)行前就已經(jīng)確定,并且內(nèi)存區(qū)域通常屬于只讀(某些架構(gòu)也允許代碼段為可寫(xiě),即允許修改程序)。 在代碼段中,也有可能包含一些只讀的常數(shù)變量,例如字符串常量等。 堆(heap): 堆是用于存放進(jìn)程運(yùn)行中被動(dòng)態(tài)分配的內(nèi)存段,它的大小并不固定,可動(dòng)態(tài)擴(kuò)張或縮減。 當(dāng)進(jìn)程調(diào)用malloc等函數(shù)分配內(nèi)存時(shí),新分配的內(nèi)存就被動(dòng)態(tài)添加到堆上(堆被擴(kuò)張); 當(dāng)利用free等函數(shù)釋放內(nèi)存時(shí),被釋放的內(nèi)存從堆中被剔除(堆被縮減)。 棧(stack): 棧又稱(chēng)堆棧,是用戶(hù)存放程序臨時(shí)創(chuàng)建的局部變量, 也就是說(shuō)我們函數(shù)括弧“{}”中定義的變量(但不包括static聲明的變量,static意味著在數(shù)據(jù)段中存放變量)。 除此以外,在函數(shù)被調(diào)用時(shí),其參數(shù)也會(huì)被壓入發(fā)起調(diào)用的進(jìn)程棧中,并且待到調(diào)用結(jié)束后,函數(shù)的返回值也會(huì)被存放回棧中。 由于棧的先進(jìn)先出(FIFO)特點(diǎn),所以棧特別方便用來(lái)保存/恢復(fù)調(diào)用現(xiàn)場(chǎng)。 從這個(gè)意義上講,我們可以把堆棧看成一個(gè)寄存、交換臨時(shí)數(shù)據(jù)的內(nèi)存區(qū)。
19.
float的指數(shù)取值范圍是-127,+128
float的取值范圍是-3.4E+38,3.4E+38
float的指數(shù)位有8位
float的尾數(shù)位有23位
其他的明天再寫(xiě)
20.在看一個(gè)教學(xué)視頻是看到一個(gè)知識(shí)點(diǎn)記錄一下:
int *a[5]={1,2,3,4,5};
a[3]==*(3+a);
//那么在編譯器中同樣可以
3[a]==*(3+a);
今天又看看到一個(gè):
struct Student
{
int sid;
char name[100];
}
int main()
{
struct Student st;
struct Student *pst;
pst=&st;
pst->sid=10;//在使用->中,pst->sid就等于(*pst).sid
}
總結(jié)
以上是生活随笔為你收集整理的c语言怎么编辑错题本,嵌入式错题本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言编程输出所有水仙花数,c语言中,如
- 下一篇: 重庆主城哪里可以买到哪里可以买到厨房操作