卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

ascii碼對照表 C語言指針可以相減嗎?為什么?

C語言指針可以相減嗎?為什么?如果兩個(gè)指針指向同一個(gè)數(shù)組,可以將它們相減,結(jié)果是兩個(gè)指針之間的元素?cái)?shù)。讓我們以本章開頭介紹的街道地址的類比為例。假設(shè)我住在第五大道118號,我的鄰居住在第五大道124號

C語言指針可以相減嗎?為什么?

如果兩個(gè)指針指向同一個(gè)數(shù)組,可以將它們相減,結(jié)果是兩個(gè)指針之間的元素?cái)?shù)。讓我們以本章開頭介紹的街道地址的類比為例。假設(shè)我住在第五大道118號,我的鄰居住在第五大道124號。每間房子的地址間距是2(我這邊的街道地址是連續(xù)的偶數(shù))。那么我鄰居的房子就是我房子前面的(124-118)/2(或3)房子(我鄰居的房子和我的房子分開兩個(gè)房子,即120和122)。指針之間的減法與上述方法相同。

學(xué)習(xí)c語言的時(shí)候指針應(yīng)該怎么理解?

簡而言之,指針是表示地址的無符號整數(shù)。

所以僅僅理解指針是不夠的。您還需要知道指針指向的數(shù)據(jù)空間是如何排列的。這可能涉及到一些與特定CPU/OS相關(guān)的知識。如果我們能用計(jì)算機(jī)體系結(jié)構(gòu)的知識來理解它,它會更深刻、更準(zhǔn)確。

例如:

如何存儲float/double/long double?

如何在數(shù)據(jù)空間中組織陣列?

字符串是如何存儲的?

如何存儲結(jié)構(gòu)和聯(lián)合體?

位域組織

具體CPU相關(guān)部分如下:

整數(shù)的存儲將涉及CPU大小的指定

浮點(diǎn)數(shù)的存儲直接關(guān)系到FPU的設(shè)計(jì)

此外,還有一些擴(kuò)展知識,涉及內(nèi)存的分配和釋放:如何在程序中分配內(nèi)存?(malloc/free)

什么是堆和堆棧?

總而言之:指針是地址和整數(shù)。但要充分利用它,我們需要了解計(jì)算機(jī)存儲空間的分配。困難在這里,突破在這里。

對于類型相同的兩個(gè)指針變量之間,不能進(jìn)行的運(yùn)算是符號是?

您應(yīng)該選擇C??梢员容^選項(xiàng)a中相同類型的兩個(gè)指針的大小。比較原則應(yīng)基于實(shí)際內(nèi)存的高位和低位。B選項(xiàng)分配,當(dāng)然可以。D選項(xiàng)可以通過減去兩個(gè)相同的指針變量(應(yīng)用于特定類型的數(shù)組)來獲得相同類型的元素?cái)?shù)。不允許使用C選項(xiàng),因?yàn)閮蓚€(gè)指針不添加任何內(nèi)容,所以不允許添加。