日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++ 字符串数组长度排序_C指针和字符串数组

發(fā)布時(shí)間:2025/3/20 c/c++ 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++ 字符串数组长度排序_C指针和字符串数组 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目

下面這段代碼輸出什么?

先別急著百度,先想先這個(gè)代碼可能輸出什么,一不小心你就失去了自主學(xué)習(xí)的機(jī)會(huì)了。

#include<stdio.h> #include<stdlib.h> int main() {char *a[] = { "work", "at", "alibaba" };char **pa = a;pa++;printf("%sn", *pa);system("pause");return 0; }

我們分析分析

a是一個(gè)數(shù)組,這個(gè)數(shù)組存的類型是 char * 類型,所以是這個(gè)樣子的。

pa 是一個(gè)二級(jí)指針變量,這個(gè)指針變量的初始化地址的 a 的首元素的地址,所以pa的值和 &a[0]是一樣的。

pa 是一個(gè)指針變量,pa 初始化的是 &a[0] ,也就是這個(gè)數(shù)組的首地址。

感覺有人還不是很理解這個(gè)東西,pa 存在的是 a[0] 的地址,所以通過 * 這個(gè)鑰匙就可以拿到 pa里面的東西,a[0] 里面的東西是什么類型的?看 a的定義我們可以知道,里面存的是 char * 字符串。

print("%sn",*pa);

應(yīng)該輸出的是 “work”字符串。

但是呢,題目里面對(duì) pa進(jìn)行了自加運(yùn)算,那 pa 存的地址就不是這個(gè)了。

這個(gè) pa++ 我們應(yīng)該如何去理解,或者它本來就應(yīng)該進(jìn)行什么運(yùn)算呢?

pa++

pa 是什么?

pa 是一個(gè)指針變量。

pa 的類型是什么?

pa 的類型是 char ** 類型,就是二級(jí)指針變量,也就是他存的是指針變量的地址。

所以正常是這樣使用

#include<stdio.h> #include<stdlib.h> int main() {char *p = "weiqifa";char **pa = &p;printf("%sn",*pa);return 0; }

回到上面的代碼,pa既然是指針變量,**那么pa++就是指向這個(gè)指針變量的下一個(gè)元素的地址**。

舉個(gè)例子說指針

#include<stdio.h> #include<stdlib.h> int main() {char a = 'p';char *p = &a;char **p1 = &p;char ***p2 = &p1;char ****p3 = &p2;char *****p4 = &p3;char ******p5 = &p4;*&a = '3';printf("%c %c %cn",***p2,******p5,a);system("pause");return 0; }

* a是一個(gè)別名,這個(gè)別名代表一個(gè)地址,這個(gè)地址里面存的是一個(gè)字符 ‘p’

* p因?yàn)樗那懊嬗幸粋€(gè) * 所以 p是一個(gè)指針變量,它存的是東西是地址,它存的這個(gè)地址里面存的是一個(gè) char 。

* p1 因?yàn)樗懊嬗幸粋€(gè) * 所以 p1 是一個(gè)指針變量,它存的是東西是地址,它存的這個(gè)地址里面存的是一個(gè)char *

* p2 因?yàn)樗懊嬗幸粋€(gè) * 所以 p2 是一個(gè)指針變量,它存的是東西是地址,它存的這個(gè)地址里面存的是一個(gè)char * *

* p3 因?yàn)樗懊嬗幸粋€(gè) * 所以 p3 是一個(gè)指針變量,它存的是東西是地址,它存的這個(gè)地址里面存的是一個(gè)char * * *

* p4 因?yàn)樗懊嬗幸粋€(gè) * 所以 p4 是一個(gè)指針變量,它存的是東西是地址,它存的這個(gè)地址里面存的是一個(gè)char * * * *

* p5 因?yàn)樗懊嬗幸粋€(gè) * 所以 p5 是一個(gè)指針變量,它存的是東西是地址,它存的這個(gè)地址里面存的是一個(gè)char * * * * *

我們分析下 char * * * * * 這個(gè)是什么?

這個(gè)是一個(gè)類型,也可以是說明屬性,在漢語里面,可以理解為形容詞,形容詞后面如果沒有名詞,是沒有意義的。

就比如說 「我非常」,主謂賓,沒有后面的一個(gè)詞來輔助,它沒有意義。

char * * * * * 也是一樣,它后面需要加一個(gè)東西,應(yīng)該是后面需要加一個(gè)地址,指明這個(gè)地址是干什么的。

比如 char * * * * * pt

總結(jié)

以上是生活随笔為你收集整理的c++ 字符串数组长度排序_C指针和字符串数组的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。