C語(yǔ)言中.與->的用法介紹
(一)基礎(chǔ)
結(jié)構(gòu)體用點(diǎn),結(jié)構(gòu)體指針用箭頭。
a->b 的含義是 (*a).b 。 現(xiàn)代的標(biāo)準(zhǔn)化的 C 語(yǔ)義上來(lái)說(shuō), -> 可以用 * 和 . 的組合實(shí)現(xiàn)。
簡(jiǎn)單的說(shuō),就是一個(gè)快捷方式,一個(gè)語(yǔ)法糖。
(二)例子
在機(jī)器碼和匯編的角度來(lái)看,不存在變量,不存在 struct 這種東西,只存在寄存器和一個(gè)叫做內(nèi)存的大數(shù)組。
結(jié)構(gòu)體變量用 . 來(lái)訪問(wèn)結(jié)構(gòu)體的成員如下:
#include<stdio.h>
#include <malloc.h>
struct stu{
int age;
stu* next;
};
int main(){
stu s1;
<strong>s1.age </strong><strong>=18;
</strong>return 0;
}指向結(jié)構(gòu)體的指針用->來(lái)訪問(wèn)其指向的結(jié)構(gòu)體的成員如:
#include<stdio.h>
#include <malloc.h>
struct stu{
int age;
stu* next;
};
int main(){
<strong>stu </strong><strong>*</strong>phead = (stu*)malloc(sizeof(stu));//測(cè)試代碼
<strong>phead->age=18</strong><strong>;</strong>
phead->next = NULL;
stu* p = phead;
return 0;
}(三)總結(jié)
- A->a表示A是指向結(jié)構(gòu)體的指針
- A.a表示A是結(jié)構(gòu)體
- A->a等效于(*A).a
- A.B則A為對(duì)象或者結(jié)構(gòu)體;
- A->B則A為指針,->是成員提取,A->B是提取A中的成員B,A只能是指向類、結(jié)構(gòu)、聯(lián)合的指針;
- (*a).b 等價(jià)于 a->b。"."一般情況下讀作"的”; “->”一般讀作"指向的結(jié)構(gòu)體的"。也就是說(shuō)在結(jié)構(gòu)中,運(yùn)算符->是運(yùn)算符*和運(yùn)算符.的結(jié)合
- “->”是指向結(jié)構(gòu)體成員運(yùn)算符。“.”是斷點(diǎn)符號(hào),不屬于運(yùn)算符。
- “->”所指向的是結(jié)構(gòu)體或?qū)ο蟮氖椎刂贰?ldquo;.”所指向的是結(jié)構(gòu)體或?qū)ο蟆?/li>
- “->”的用處是使用一個(gè)指向以便訪問(wèn)結(jié)構(gòu)體或?qū)ο笃鋬?nèi)成員。“.”的用處是使用一個(gè)指向以便訪問(wèn)結(jié)構(gòu)體或?qū)ο蟆?/li>
到此這篇關(guān)于C語(yǔ)言中.與->的區(qū)別 的文章就介紹到這了,更多相關(guān)C語(yǔ)言中.與->的區(qū)別 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Visual?Studio?2022下載安裝與使用超詳細(xì)教程
這篇文章主要介紹了Visual?Studio?2022最新版安裝與使用教程,本文以社區(qū)版為例通過(guò)圖文并茂的形式給大家介紹Visual?Studio?2022安裝使用,需要的朋友可以參考下2022-04-04
C語(yǔ)言根據(jù)協(xié)議分割獲取字符串單元的實(shí)現(xiàn)代碼
今天小編就為大家分享一篇關(guān)于C語(yǔ)言根據(jù)協(xié)議分割獲取字符串單元的實(shí)現(xiàn)代碼,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12
Qt實(shí)現(xiàn)制作簡(jiǎn)單的計(jì)算器
計(jì)算器是我們生活中很常見(jiàn)的東西,它可以由多種語(yǔ)言多種方式來(lái)實(shí)現(xiàn)。本文主要介紹的是利用Qt實(shí)現(xiàn)的簡(jiǎn)易計(jì)算器的制作,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-12-12
C++類與對(duì)象深入之構(gòu)造函數(shù)與析構(gòu)函數(shù)詳解
朋友們好,這篇播客我們繼續(xù)C++的初階學(xué)習(xí),現(xiàn)在對(duì)我們對(duì)C++非常重要的一個(gè)知識(shí)點(diǎn)做出總結(jié),整理出來(lái)一篇博客供我們一起復(fù)習(xí)和學(xué)習(xí),如果文章中有理解不當(dāng)?shù)牡胤?還希望朋友們?cè)谠u(píng)論區(qū)指出,我們相互學(xué)習(xí),共同進(jìn)步2022-06-06
C語(yǔ)言main函數(shù)的三種形式實(shí)例詳解
這篇文章主要介紹了 C語(yǔ)言main函數(shù)的三種形式實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06
opencv?C++模板匹配的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要介紹了opencv?C++模板匹配的簡(jiǎn)單實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02

