国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
計(jì)算機(jī)編程C語言指針答疑:字符串指針和字符數(shù)組

一、計(jì)算機(jī)編程C語言答疑合集

https://www.toutiao.com/a6715637348882711053/

更多C語言答疑文章,請(qǐng)參閱:計(jì)算機(jī)編程C語言答疑文章合集

或者點(diǎn)擊下方,加入我的“C語言答疑課堂”圈子吧,第一時(shí)間看到我給大家?guī)淼腃語言試題分析!

二、【計(jì)算機(jī)編程】【C語言指針試題】

有下面四個(gè)C程序代碼語句:

  1. char array1[] = "I love C";
  2. char array2[] = "I love C";
  3. char *pChar1 = "I love C";
  4. char *pChar2 = "I love C";

printf("array1 == array2嗎? %d\n", array1 == array2);

printf("pChar1 == pChar2嗎? %d\n", pChar1 == pChar2);

請(qǐng)問兩條C程序printf語句會(huì)輸出什么?

三、【計(jì)算機(jī)編程】【C語言指針答疑】

1、“己他”概念來解題

這道C語言指針題考察了字符數(shù)組、常量字符串、指向字符的指針等知識(shí)點(diǎn),看上去讓人“眼花繚亂”。使用我提出的C語言指針“己他”中的“己值”、“他址”概念以及“指針運(yùn)算”來解這道題是很簡單的,這些概念在我的專欄:

的第九章、第十章、第十三章有詳細(xì)的闡述,如下:

第九章:章節(jié)九、指針“己X”概念,從這里開始!(基本數(shù)據(jù)類型篇)

第十章:章節(jié)十、指針“他X”概念,精彩來了!(基本數(shù)據(jù)類型篇)

第十三章:章節(jié)十三、指針做運(yùn)算,你以為很難嗎?(應(yīng)用于數(shù)組)

2、C程序代碼

我來把這道C語言指針題擴(kuò)展成一段C程序代碼,如下:

C程序代碼

這段C程序代碼我定義了兩個(gè)字符數(shù)組array1和array2,各自保存了一個(gè)字符串"I love C",緊接著又定義了兩個(gè)指針變量pChar1、pChar2,指向兩個(gè)字符串"I love C"。運(yùn)行結(jié)果如下:

C程序運(yùn)行結(jié)果

這個(gè)結(jié)果就是上述C程序試題答案。

3、C程序代碼分析

3.1 分析1

在C程序代碼的第5行和第6行有如下語句:

char array1[] = "I love C";
char array2[] = "I love C";

兩個(gè)字符數(shù)組雖然保存的字符串看上去是一樣的,都是"I love C",其實(shí)這兩個(gè)字符串在內(nèi)存中位于不同的位置。

從運(yùn)行來看,字符數(shù)組array1的第一個(gè)元素地址是22feaf,而數(shù)組名array1的己值也是22feaf。我在專欄中提到過,數(shù)組名array1這種C代碼寫法就是第一個(gè)元素的地址,也就是說array1的己值22feaf這個(gè)數(shù)字的含義就是“他址”,他人(array1[0])的地址。

從運(yùn)行來看,字符數(shù)組array2的第一個(gè)元素地址是22fea6,而數(shù)組名array2的己值也是22fea6,也就是說array2的己值22fea6這個(gè)數(shù)字的含義就是“他址”,他人(array2[0])的地址。

C程序代碼第17行如下語句:

printf("array1 == array2嗎? %d\n", array1 == array2);

這種C程序代碼寫法就是用指針變量的己值做比較運(yùn)算。array1的己值是22feaf,array2的己值是22fea6,它們相等嗎?當(dāng)然不相等,所以輸出:0!

3.2 分析

在C程序代碼的第7行和第8行有如下語句:

char *pChar1 = "I love C";
char *pChar2 = "I love C";

兩個(gè)指針變量指向的字符串看上去是一樣的,都是"I love C",而且這兩個(gè)字符串就是同一個(gè),也就是說在內(nèi)存中位于一個(gè)位置,這就是常量字符串!

從運(yùn)行來看,指針變量pChar1的己值是404000。我在專欄中提到過,指針變量pChar1的己值就是常量字符串"I love C"的第一個(gè)字符的地址,也就是字符‘I'的地址。

從運(yùn)行來看,指針變量pChar2的己值也是404000,與指針變量pChar1的己值相等,這再次說明指針變量pChar1和pChar2指向的是同一個(gè)字符串。

C程序代碼第18行如下語句:

printf("pChar1 == pChar2嗎? %d\n", pChar1 == pChar2);

這種C程序代碼寫法就是用指針變量的己值做比較運(yùn)算。既然兩個(gè)指針變量的己值相等,所以輸出:1!

四、C語言指針試題總結(jié)

這道C語言指針試題看上去難嗎?還是在我提出的“己他”概念范圍內(nèi),所以我一直跟同學(xué)們說“C語言指針就是個(gè)紙老虎”!

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
pchar,string,array of char的區(qū)別(strpcopy,strpas)
Delphi、PChar和Char數(shù)組的比較 - 李智勇的日志 - 網(wǎng)易博客
C語言 給字符數(shù)組賦值的方法
c語言中的字符類型指針賦值字符串常量
指針數(shù)組,排序,創(chuàng)建一個(gè)長度為size的動(dòng)態(tài)指針數(shù)組,然后從鍵盤讀取size個(gè)學(xué)生的名字存儲(chǔ)到字符數(shù)組中,字符數(shù)組首元素地址存儲(chǔ)到指針數(shù)組元素中
C/C 中字符指針數(shù)組及指向指針的指針的含義
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服