tft每日頭條

 > 生活

 > c語言結構體裡的變量默認值

c語言結構體裡的變量默認值

生活 更新时间:2025-02-11 12:29:02
結構體指針變量

C語言提供了基礎數據類型,例如char、int等數據類型,可以定義指針變量。那麼,結構體類型是用戶自己定義的數據類型,同樣也可以定義指針變量。結構體類型定義指針變量格式如下:

struct 結構體類型名* 指針變量名;

定義指針變量的格式與基本數據類型定義指針變量格式一樣。例如前面定義的讀者結構體類型struct reader,可以定義指針變量如下:

struct reader* pr;

此時pr變量是一個指針變量,指向struct reader類型的變量。指針可以存放一個變量的地址,所以,pr變量可以存放一個struct reader類型變量的地址。例如:

struct reader r1; //定義結構體類型變量r1;

struct reader* pr = &r1; //定義指針變量pr存放r1變量的地址,就是指向r1變量

學習了指針的知識之後,我們可以使用指針降級運算符“*”對指針變量進行操作,把指針轉換為指針所指向的對象。例如:

struct reader r2 = *pr;

此時,由于pr指向變量r1,那麼,使用指針降級運算符“*”對其進行降級之後,轉換為pr指針變量所指向的r1變量。那麼,等價于:

struct reader r2 = r1;

就是把r1變量的數據賦給r2變量。在學習“訪問結構體的成員”章節中,我們介紹了結構體變量訪問其成員的方式,有如下兩種方式:

(1) 結構體變量名.成員名

(2) 結構體指針變量名->成員名

那麼,如果指針變量是一級指針,使用指針降級運算符“*”對指針進行降級,轉換為指針所指向的結構體變量,那麼,就可以以結構體變量的形式訪問成員,例如:

(*指針變量).成員名。

程序測試例子如下:

c語言結構體裡的變量默認值(如何定義結構體指針變量)1

程序運行結果如下:

c語言結構體裡的變量默認值(如何定義結構體指針變量)2

可以看到,我們定義了指針變量pr,并設置它指向變量r1。然後,可以通過指針降級運算符“*”對指針變量pr進行操作,訪問它所指向的變量。同時,可以使用指針操作符“->”直接通過指針變量訪問其所指向變量的成員。

所以,結構體類型指針變量訪問其成員的方式,可以總結如下:

(1) 結構體變量.成員名;

(2) 結構體指針變量->成員名;

(3) (*結構體指針變量).成員名;

注意,對于第三種方式,就是通過指針降級運算符“*”對指針變量進行降級,轉換為指針變量所指向的變量。如果指針變量是一級指針,降級之後,轉換為結構體變量,所以,可以以結構體變量的方式訪問成員。

如果是二級指針變量,需要2個指針降級運算符“*”進行降級,轉換為結構體變量才可以。程序測試例子如下:

c語言結構體裡的變量默認值(如何定義結構體指針變量)3

程序運行結果如下:

c語言結構體裡的變量默認值(如何定義結構體指針變量)4

可以看到,對于指針變量的操作,可以是使用指針降級運算符“*”對指針變量進行降級操作。降級指針,轉換為指針變量所指向的變量。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved