C 結構體指標(考研版本)

2021-10-08 07:16:42 字數 3245 閱讀 4065

概述

結構體的定義與使用

結構體陣列

結構體陣列

結構體做函式引數

結構體中const使用場景

1.概述

將不同資料型別的資料組合到一起,以供使用者更加方便使用

name

agescore

大根20

202.結構體的定義與使用

struct 結構體名;

定義四種方式

#include

using

namespace std;

struct student

;int

main()

;int

main()

; cout <<

"姓名:"

<< stu1.name <<

"\t"

; cout <<

"年齡:"

<< stu1.age <<

"\t"

; cout <<

"分數:"

<< stu1.score << endl;

return0;

}

#include

using

namespace std;

struct student stu2;

intmain()

#include

using

namespace std;

struct

stu3;

intmain()

注意在編譯時不會為型別分配空間,只會為變數分配,建立關鍵字strcut可以省,定義時不可以省略,結構體變數可以通過.訪問成員

3.結構體陣列

存放元素的資料型別不同

struct 結構體名 陣列名 [元素個數] =,{},…,{}}

#include

using

namespace std;

struct student

;int

main()

,,,}

;//遍歷結構體陣列(同陣列的遍歷

for(

int i =

0; i <

3; i++

)return0;

}

4.結構體指標

用乙個指標變數,去指向乙個結構體變數

使用方式

(*結構體指標名).成員名

結構體指標名->成員名

#include

using

namespace std;

struct student

;int

main()

;//結構體指標就是指向指向結構體變數的指標

struct student* p =

&stu;

//2.通過指標如何訪問結構成員

//2.(*結構體指標).成員名

(*p)

.name =

"youliangyu"

; cout <<

"姓名:"

<<

(*p)

.name <<

"\t"

; cout <<

"年齡:"

<<

(*p)

.age <<

"\t"

; cout <<

"分數:"

<<

(*p)

.score << endl;

指標->成員

p->name =

"尤良玉"

; cout <<

"姓名:"

<< p-

>name<<

"\t"

; cout <<

"年齡:"

<< p-

>age <<

"\t"

; cout <<

"分數:"

<< p-

>score << endl;

return0;

}

5.結構體做函式引數

將結構體作為引數向函式中傳遞

值傳遞

位址傳遞

#include

using

namespace std;

struct student

;//1.函式引數之值傳遞

void

showstudent

(struct student stu)

//2.函式1引數之位址傳遞

void

printstudent2

(const

struct student* p)

intmain()

;struct student stu2 =

;showstudent

(stu)

; cout <<

"***************main***************="

<< endl;

cout <<

"姓名:"

<< stu.name;

cout <<

" 年齡:"

<< stu.age;

cout <<

" 分數: "

<< stu.score<< endl;

printstudent2

(&stu2)

; cout <<

"***************main***************="

<< endl;

cout <<

"姓名:"

<< stu2.name;

cout <<

" 年齡:"

<< stu2.age;

cout <<

" 分數: "

<< stu2.score;

return0;

}

6.結構體中const的使用場景

使用const修飾,可以防止修改結構體的值

void

printstudent2

(const

struct student* p)

結構體指標,C語言結構體指標詳解

結構體指標,可細分為指向結構體變數的指標和指向結構體陣列的指標。前面我們通過 結構體變數名.成員名 的方式引用結構體變數中的成員,除了這種方法之外還可以使用指標。前面講過,student1 表示結構體變數 student1 的首位址,即 student1 第乙個項的位址。如果定義乙個指標變數 p 指...

C 結構體指標

c 結構體指標,顧名思義就是指向結構體的乙個指標,這篇部落格作用是記錄c 結構體指標的常用用法及我經常犯的乙個錯誤。定義結構體 struct mymy int val left null right null val val 一般結構體變數的訪問方式 void test1 可見,結構體中的變數,可以...

C語言 結構體指標

asp.net unity開發 net培訓 期待與您交流!一.結構體 1.什麼是結構體 當 乙個整體 由多個資料構成時,我們可以用陣列來表示這個整體,但是陣列內部的每乙個元素都必須是相同型別的資料。在實際應用中,我們通常需要由不同型別的資料來構成乙個整體,比如學生這個整體可以由姓名 年齡 身高等資料...