資料介紹
(一)
1什么是預(yù)編譯,何時需要預(yù)編譯:
答案:
1、總是使用不經(jīng)常改動的大型代碼體。
2、程序由多個模塊組成,所有模塊都使用一組標準的包含文件和相同的編譯選項。在這種情況下,可以將所有包含文件預(yù)編譯為一個預(yù)編譯頭。
2 char * const p char const * p const char *p 上述三個有什么區(qū)別?
答案:
char * const p; //常量指針,p的值不可以修改
char const * p;//指向常量的指針,指向的常量值不可以改 const char *p; //和char const *p
3
char str1[] = “abc”;
char str2[] = “abc”;
const char str3[] = “abc”;
const char str4[] = “abc”;
const char *str5 = “abc”;
const char *str6 = “abc”;
char *str7 = “abc”;
char *str8 = “abc”;
cout 《 《 ( str1 == str2 ) 《 《 endl;
cout 《 《 ( str3 == str4 ) 《 《 endl;
cout 《 《 ( str5 == str6 ) 《 《 endl;
out 《 《 ( str7 == str8 ) 《 《 endl;
結(jié)果是:0 0 1 1
str1,str2,str3,str4是數(shù)組變量,它們有各自的內(nèi)存空間;而str5,str6,str7,str8是指針,它們指向相同的常量區(qū)域。
4以下代碼中的兩個sizeof用法有問題嗎?
[C易]
void UpperCase( char str[] ) // 將 str 中的小寫字母轉(zhuǎn)換成大寫字母
{ for( size_t i=0; i 《sizeof(str)/sizeof(str[0]); ++i )
if( ‘a(chǎn)’ 《=str[i] && str[i] 《=‘z’ )
str[i] -= (‘a(chǎn)’-‘A’ );
}
char str[] = “aBcDe”;
cout 《 《 “str字符長度為: ” 《 《 sizeof(str)/sizeof(str[0]) 《 《 endl;
UpperCase( str );
cout 《 《 str 《 《 endl;
答案:函數(shù)內(nèi)的sizeof有問題。根據(jù)語法,sizeof如用于數(shù)組,只能測出靜態(tài)數(shù)組的大小,無法檢測動態(tài)分配的或外部數(shù)組大小。函數(shù)外的str是一個靜態(tài)定義的數(shù)組,因此其大小為6,因為還有‘\0’,函數(shù)內(nèi)的str實際只是一個指向字符串的指針,沒有任何額外的與數(shù)組相關(guān)的信息,因此sizeof作用于上只將其當指針看,一個指針為4個字節(jié),因此返回4。

5一個32位的機器,該機器的指針是多少位
答案:
指針是多少位只要看地址總線的位數(shù)就行了。80386以后的機子都是32的數(shù)據(jù)總線。所以指針的位數(shù)就是4個字節(jié)了。
6 main()
{
int a[5]={1,2,3,4,5};
int *ptr=(int *)(&a+1);
printf(“%d,%d”,*(a+1),*(ptr-1));
}
答案:2 5
分析:*(a+1)就是a[1],*(ptr-1)就是a[4],執(zhí)行結(jié)果是2,5 。&a+1不是首地址+1,系統(tǒng)會認為加一個a數(shù)組的偏移,是偏移了一個數(shù)組的大?。ū纠?個int) int *ptr=(int *)(&a+1); 則ptr實際是&(a[5]),也就是a+5 原因如下: &a是數(shù)組指針,其類型為 int (*)[5]; 而指針加1要根據(jù)指針類型加上一定的值,不同類型的指針+1之后增加的大小不同 a是長度為5的int數(shù)組指針,所以要加 5*sizeof(int) 所以ptr實際是a[5] 但是prt與(&a+1)類型是不一樣的(這點很重要) 所以prt-1只會減去sizeof(int*)。 a,&a的地址是一樣的,但意思不一樣,a是數(shù)組首地址,也就是a[0]的地址,&a是對象(數(shù)組)首地址,a+1是數(shù)組下一元素的地址,即a[1],&a+1是下一個對象的地址,即a[5]。
掃碼添加小助手
加入工程師交流群
- 嵌入式Linux工程師筆試記錄 -- 2020.8.19(十一)
- 學軟件嵌入式需要學c語言嗎,嵌入式軟件工程師需要學什么?
- 嵌入式軟件工程師修煉開始
- 面試面經(jīng) | 2021大疆嵌入式軟件工程師筆試題B卷
- 嵌入式軟件工程師學習路線
- 嵌入式軟件開發(fā)工程師與FPGA開發(fā)工程師
- 嵌入式軟件工程師自學之路
- 嵌入式軟件工程師學習路線
- 嵌入式軟件工程師筆試題資料免費下載 28次下載
- 軟件工程師筆試題目(嵌入式方向)資料下載 32次下載
- 嵌入式軟件工程師經(jīng)典筆試試題分享 65次下載
- 自動化嵌入式研發(fā)筆試題 0次下載
- 電子硬件工程師筆試題 0次下載
- 電子工程師筆試題_仕蘭微電子 0次下載
- 嵌入式軟件工程師培養(yǎng)步驟 172次下載
- 硬件工程師面試/筆試經(jīng)典 100 題 1.3k次閱讀
- 嵌入式軟件工程師常用的 1.5k次閱讀
- 硬件工程師經(jīng)典面試題詳解 2.2k次閱讀
- 工程師出路:嵌入式不僅僅只是搞搞單片機 6.4k次閱讀
- 英創(chuàng)信息技術(shù)關(guān)于嵌入式工程師建議 2.2k次閱讀
- 詳細盤點工程師嵌入式開發(fā)必備工具讓工作事半功倍 6.5k次閱讀
- 嵌入式Linux工程師需要了解的八大開發(fā)知識點 5.3k次閱讀
- 嵌入式軟件工程師職業(yè)規(guī)劃必知 7.1k次閱讀
- 嵌入式開發(fā)和底層開發(fā)有什么區(qū)別 1.7w次閱讀
- 嵌入式Linux工程師的學習發(fā)展步驟,如何測試工程師之間的區(qū)別 5.1k次閱讀
- 軟件測試工程師就業(yè)優(yōu)勢在哪里_如何成為一名優(yōu)秀的軟件工程師 7.4k次閱讀
- 嵌入式軟件工程師和嵌入式硬件工程師有什么區(qū)別 8.3w次閱讀
- 成為一個正式的嵌入式開發(fā)工程師,需要知道的嵌入式系統(tǒng)開發(fā)7大技巧 1.1w次閱讀
- 了解時鐘基礎(chǔ)知識是成為數(shù)字設(shè)計的軟件工程師最基礎(chǔ)的部分 6.2k次閱讀
- 工程師視角:學習嵌入式的十三個重要法則 1.6k次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發(fā)板設(shè)計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論