C++總結筆記(三)—— 結構體

一、概念

結構體是一種可以自定義數據類型的類型格式,一般用struct關鍵字進行定義。

//創建食物的結構體
struct Food
{//屬性名string name;		//名字int Price;			//價格
};

結構體有三種定義變量的方法。

1.1 定義結構體后再聲明變量,然后在對變量的屬性賦值

int main()
{Food HuiMian;HuiMian.name = "燴面";HuiMian.Price = 10;cout << HuiMian.name << endl;cout << HuiMian.Price << endl;
}

1.2 定義結構體后再聲明變量,同時對變量的屬性賦值

int main()
{Food HuiMian = { "燴面" ,10};cout << HuiMian.name << endl;cout << HuiMian.Price << endl;
}

1.3 定義結構體時聲明變量

//創建食物的結構體
struct Food
{//屬性名string name;		//名字int Price;			//價格
}HuiMian;
int main()
{HuiMian.name= "燴面";HuiMian.Price = 10;cout << HuiMian.name << endl;cout << HuiMian.Price << endl;
}

二、程序應用

2.1 結構體數組

結構體和數組進行結合,定義形式為:struct 結構體名 數組名[元素個數]{}

int main()
{Food Arry[2]{{"燴面",10},{"照燒雞腿飯", 20}};//物價漲了Arry[0].Price = 12;Arry[1].Price = 30;
}

2.2 結構體指針

結構體指針在學習數據結構的時候會經常遇到,需要重點掌握,用指針名 + ->來進行訪問結構體成員。

int main()
{Food Arry[2]{{"燴面",10},{"照燒雞腿飯", 30}};Arry[0].Price = 12;Food* p = &Arry[0];cout << p << endl;cout << p->name <<"的價格是:"<< p->Price << endl;
}

2.3 結構體嵌套

//定義食材的結構體
struct ShiCai
{string name;int Price;
};//創建食物的結構體
struct Food
{//屬性名string name;		//名字int Price;			//價格struct ShiCai shicai;
};
int main()
{Food Arry[2]{{"燴面",10,{"面條",1}},{"照燒雞腿飯", 30,{"雞腿",5}}};Arry[0].Price = 12;Food* p = &Arry[0];cout << p << endl;cout << p->name <<"的價格是:"<< p->Price <<"  包括食材:" <<p->shicai.name <<endl;
}
012FFC3C
燴面的價格是:12  包括食材:面條

2.4 結構體與函數

地址傳遞,可以更改結構體的值,反之,值傳遞不能更改:

void Print(Food *p)
{p->name = "紅燒魚";cout << p->name << "的價格是:" << p->Price << "  包括食材:" << p->shicai.name << endl;
}
int main()
{Food Arry[2]{{"燴面",10,{"面條",1}},{"照燒雞腿飯", 30,{"雞腿",5}}};Arry[0].Price = 12;Print(&Arry[0]);cout << Arry[0].name << endl;
}
紅燒魚的價格是:12  包括食材:面條
紅燒魚

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256155.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256155.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256155.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[輕微]WEB服務器啟用了OPTIONS方法/如何禁止DELETE,PUT,OPTIONS等協議訪問應用程序/tomcat下禁用不安全的http方法...

使用了360網站安全檢測 查到有OPTIONS方法 百度了下 https://my.oschina.net/maliang0130/blog/338725 找到這個方法奈何http.conf 找不到無論在tomcat目錄里還是linux路徑下的/usr/etc或者apache2 最后通過開源中國找到 第一步&#xff1a;修改應用程序的web.xml文件的協議 &l…

MVC 事物同時保存,更新數據庫

本人小白一枚&#xff0c;第一次寫博&#xff0c;主要用作筆記&#xff0c;怕以后忘記了&#xff0c;大神尙可路過&#xff0c;也可多多指教 事物用在同時保存更新數據時&#xff0c;及只要在事物塊的范圍內&#xff0c;有一個操作出錯則事物塊所有更新&#xff0c;保存等操作都…

【圖像處理】——正裝照換底色Python

import cv2 import numpy as np # 讀取照片 img=cv2.imread("personalPic.jpg")# 圖像縮放 img = cv2.resize(img,None,fx=0.3,fy=0.3) rows,cols,channels = img.shape print(rows,cols,channels)# img_medianBlur=cv2.medianBlur(img,3) # 中值濾波,必須是大于1的奇…

Halcon例程詳解(植物測量) —— measure_plant.hdev

文章目錄 前言一、過程1.1 篩選ROI區域1.2 分割1.3 三維建模與仿射變換1.4 確定葉子的角度分布和高度1.5 確定葉子的面積和樹干的直徑1.6 對葉子的角度進行分析二、例程詳解2.1 篩選ROI區域2.2 分割2.3 三維建模與仿射變換2.4 確定葉子的角度和高度2.5 確定葉子的面積和樹干的直…

keil5中文亂碼的解決

keil5 復制出來的中文顯示亂碼&#xff0c;該如何解決&#xff1f; 點擊Edit - Configuration &#xff0c;進入編輯器設置&#xff1a; 點擊ok &#xff0c;就可以了轉載于:https://www.cnblogs.com/alan666/p/8312100.html

spark RDD iterator中sparkEnv功能 -- (視頻筆記)

sparkEnv是spark環境變量 1、可以從其中get 緩存 2、為master workder driver 管理和保存運行時對象。 3、excutorid &#xff0c;excutor 一種為driver類型&#xff0c;一種具體處理task 內部有線程池的excutor 4、actorSystem &#xff0c;如果運行在driver 則為spark driver…

【圖像處理】——Python實現幾何變換(自定義+opencv庫)

理論知識:參考https://blog.csdn.net/on2way/article/details/40460675 Python調用opencv函數參考:https://blog.csdn.net/on2way/article/details/46801063 一、引自《數字圖像處理》的基礎知識匯總 這個很重要!!!這里需要注意的是反向映射和前向映射的區別,反…

Go語言學習資料整理

整理網上找到的Golang語言學習資料基礎基礎教程 書籍在線版Go 指南-A Tour of GoGo語言圣經&#xff08;中文版&#xff09;Effective Go中文版Go Web編程 build-web-application-with-golangGo入門指南 The Way to Go《The Way to Go》中文譯本&#xff0c;中文正式名《Go入門…

C++總結筆記(四)—— 堆棧區域劃分與引用實例解析

文章目錄前言&#x1f600;一、概念1.1. 內存分區1.1.1 堆區1.1.2 棧區1.1.3 程序代碼區1.1.4 全局/靜態存儲區1.1.5 常量存儲區1.2. 引用二、程序示例總結前言&#x1f600; 在C的內存管理中&#xff0c;堆區和棧區是一個非常重要的概念&#xff0c;理解堆棧的相關知識&#…

學習Android MediaPlayer

Android Media Playback 原文 The Android multimedia framework includes support for playing variety of common media types, so that you can easily integrate audio, video and images into your applications. You can play audio or video from media files stored in…

spark2.0.1 安裝配置

1. 官網下載 wget http://d3kbcqa49mib13.cloudfront.net/spark-2.0.1-bin-hadoop2.7.tgz 2. 解壓 tar -zxvf spark-2.0.1-bin-hadoop2.7.tgz ln -s spark-2.0.1-bin-hadoop2.7 spark2 3. 環境變量 vi /etc/profile #Spark 2.0.1export SPARK_HOME/usr/local/spark2export PATH…

Spring Cloud各組件超時

Ribbon的超時 全局設置&#xff1a; ribbon:ReadTimeout: 60000ConnectTimeout: 60000局部設置&#xff1a; service-id:ribbon:ReadTimeout: 1000ConnectTimeout: 1000其中&#xff0c;service-id 是Ribbon所使用的虛擬主機名&#xff0c;一般和Eureka Server上注冊的服務名稱…

【圖像處理】——遍歷圖像所有像素的方法(for 循環和np.where遍歷)應用在模板制作

目錄 具體np.where的用法可以參見: 其他遍歷圖像的所有像素的方法: 模板制作流程 Python代碼

C++總結筆記(五)——構造函數和析構函數

文章目錄前言一、基本概念1 構造函數2 析構函數二、示例1. 構造函數和析構函數的簡單使用2. 拷貝構造函數的調用3. 淺拷貝和深拷貝前言 本文講述了構造函數和析構函數的概念以及對應的示例&#xff0c;以便加深理解。 一、基本概念 1 構造函數 構造函數用于初始化類的對象&a…

LINUX 更新

sudo apt-get dist-upgrade,更新所有的軟件轉載于:https://www.cnblogs.com/jackieron/p/5997805.html

python實戰===如何優雅的打飛機

這是一個打飛機的游戲&#xff0c;結構如下&#xff1a; 其中images中包含的素材為 命名為alien.png 命名為ship.png 游戲效果運行是這樣的&#xff1a; 敵軍&#xff0c;也就是體型稍微大點的&#xff0c;在上方左右移動&#xff0c;并且有規律向下移動。我軍目標&#xff0c;…

【圖像處理】——上采樣、下采樣、在模板匹配中的金字塔加速策略

目錄 1、下采樣 Python自帶函數 自定義函數 Python實現下采樣 2、上采樣 Python自帶函數 自定義函數<

C++總結筆記(六)——友元

文章目錄前言一、基本概念二、程序示例1.全局函數調用私有成員2. 外部類調用私有成員3. 外部類的成員函數調用私有成員總結前言 一、基本概念 友元是C中為了方便類外的類或者函數訪問類內私有成員而定義的一種特殊語法&#xff0c;用friend關鍵字進行修飾。 二、程序示例 友…

Java默認類型,類型轉換,常量與變量筆記

默認類型&#xff1a; 在java里整數默認是int類型&#xff0c;小數默認是double類型&#xff0c;單個字符默認是char類型&#xff0c;true、false自然默認的是boolean類型&#xff0c;字符串默認的是String類型。 變量和常量類型轉換&#xff1a; 因為有默認類型&#xff0c;在…

【圖像處理】——Python實現灰度特征提取

目錄 1、灰度特征 2、Python代碼 1、灰度特征 2、Python代碼 import cv2 import numpy as npdef gray_features(img):hist = cv2.calcHist([img],[0],None,[256],[0,255])#得到全局直方圖統計數據