欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言入門篇--初識結(jié)構(gòu)體

 更新時間:2021年08月26日 09:37:28   作者:yycure  
本篇文章是基礎(chǔ)篇,適合c語言剛?cè)腴T的朋友,本文對c語言的結(jié)構(gòu)體做了簡單的分析,幫助大家快速入門c語言的世界,更好的理解c語言

1.為什么要有結(jié)構(gòu)體

(1)之前int、char等類型描述的結(jié)構(gòu)體非常單一,只可描述一種類型。
(2)數(shù)組也是描述同一類型的集合,只可描述一種類型。
(3)而結(jié)構(gòu)體使得C語言可以描述復(fù)雜類型,比如學(xué)生類型( 包含學(xué)生的名字、年齡、性別、電話號等信息)。

結(jié)構(gòu)體和數(shù)組的區(qū)別:
結(jié)構(gòu)體:用來描述相同/不同數(shù)據(jù)元素類型的集合。
數(shù)組:用來描述具有相同數(shù)據(jù)元素類型的集合。

2.結(jié)構(gòu)體的定義

2.1結(jié)構(gòu)體類型的定義

格式:

struct Stu//結(jié)構(gòu)體類型名字為struct Stu(struct Stu類似于int)
{
    //結(jié)構(gòu)體內(nèi)容
	char Name[20];
	int Age;
	char Sex[5];
	char Tel[12];
};//記著加;

注意:
(1)結(jié)構(gòu)體類型的定義是在main函數(shù)外部。
(2)此處指定義了一個結(jié)構(gòu)體類型,還未定義對應(yīng)結(jié)構(gòu)類型的變量,所以還未在內(nèi)存中開辟空間。

2.2定義結(jié)構(gòu)體普通變量及訪問

struct Stu Tom = { “Tom”, 13, “男”, “11122546698” };
//定義結(jié)構(gòu)體普通變量并初始化,變量名為Tom,用變量名訪問結(jié)構(gòu)體。

#include <stdio.h>
struct Stu
{
	char Name[20];//名字
	int Age; //年齡
	char Sex[5];//性別
	char Tel[12];//電話號
};
int main()
{
	struct Stu Tom = { "Tom", 13, "男", "11122546698" };
	printf("%s,%d,%s,%s\n", Tom.Name, Tom.Age, Tom.Sex, Tom.Tel);//用變量名和結(jié)構(gòu)成員運(yùn)算符(.)訪問結(jié)構(gòu)體。	
	return 0;
}

在這里插入圖片描述

2.3定義結(jié)構(gòu)體指針變量及訪問

struct Stu *s = &Tom;
//定義結(jié)構(gòu)體指針變量,s指向Tom,有如下兩種訪問方式。

#include <stdio.h>
struct Stu
{
	char Name[20];//名字
	int Age; //年齡
	char Sex[5];//性別
	char Tel[12];//電話號
};
int main()
{
	struct Stu Tom = { "Tom", 13, "男", "11122546698" };
	struct Stu *s = &Tom;	
	//用結(jié)構(gòu)體指針運(yùn)算符->訪問(常用訪問方式)
	printf("%s,%d,%s,%s\n", s->Name, s->Age, s->Sex, s->Tel);
	//s為指針變量,*s對指針解引用,代表指針?biāo)赶虻膬?nèi)容。
	//而且用指針和結(jié)構(gòu)成員運(yùn)算符(.)訪問結(jié)構(gòu)體時,由于結(jié)構(gòu)成員運(yùn)算符(.)比指針引用運(yùn)算符(*)的優(yōu)先級高,必須代括號。
	printf("%s,%d,%s,%s\n", (*s).Name, (*s).Age, (*s).Sex, (*s).Tel);
	
	return 0;
}

在這里插入圖片描述

以上就是C語言入門篇--理解結(jié)構(gòu)體的詳細(xì)內(nèi)容,更多關(guān)于C語言結(jié)構(gòu)體的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C++中使用正則匹配問題

    C++中使用正則匹配問題

    這篇文章主要介紹了C++中使用正則匹配問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • QT中QStringListModel類的應(yīng)用介紹

    QT中QStringListModel類的應(yīng)用介紹

    QStringListModel是最簡單的模型類,具備向視圖提供字符串?dāng)?shù)據(jù)的能力,本文主要介紹了QT中QStringListModel類的應(yīng)用介紹,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • C語言修煉之路初識分支句?循環(huán)助本心下篇

    C語言修煉之路初識分支句?循環(huán)助本心下篇

    現(xiàn)實(shí)生活中我們經(jīng)常需要根據(jù)不同的條件做出不同的選擇。程序設(shè)計中也需要根據(jù)條件來選擇不同的程序進(jìn)行處理,這稱之為分支結(jié)構(gòu),當(dāng)條件表達(dá)式不存在時,它被假設(shè)為真。您也可以設(shè)置一個初始值和增量表達(dá)式,一般情況下,C?程序員偏向于使用?for(;;)?結(jié)構(gòu)來表示一個無限循環(huán)
    2022-03-03
  • C語言實(shí)現(xiàn)簡易版掃雷游戲

    C語言實(shí)現(xiàn)簡易版掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡易版掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • C++ 如何實(shí)現(xiàn)多線程與線程同步

    C++ 如何實(shí)現(xiàn)多線程與線程同步

    多線程中的線程同步可以使用,CreateThread,CreateMutex 互斥鎖實(shí)現(xiàn)線程同步,通過臨界區(qū)實(shí)現(xiàn)線程同步,Semaphore 基于信號實(shí)現(xiàn)線程同步,CreateEvent 事件對象的同步,以及線程函數(shù)傳遞單一參數(shù)與多個參數(shù)的實(shí)現(xiàn)方式。
    2021-06-06
  • 淺談C++中const與constexpr的區(qū)別

    淺談C++中const與constexpr的區(qū)別

    C++11中新增加了用于指示常量表達(dá)式的constexpr關(guān)鍵字。本文將帶大家詳細(xì)了解一下const與constexpr之間的區(qū)別,需要的小伙伴們可以參考一下
    2021-11-11
  • C++基礎(chǔ)知識實(shí)例解析(一)

    C++基礎(chǔ)知識實(shí)例解析(一)

    這篇文章主要對C++基礎(chǔ)知識實(shí)例解析,通過四個簡短的案例,鞏固大家的基礎(chǔ)知識,需要的朋友可以參考下
    2015-08-08
  • C語言中break與continue的用法和區(qū)別詳解

    C語言中break與continue的用法和區(qū)別詳解

    當(dāng)我們使用while或for循環(huán)時,如果想提前結(jié)束循環(huán)(在不滿足結(jié)束條件的情況下結(jié)束循環(huán)),可以使用break或continue關(guān)鍵字,這篇文章主要給大家介紹了關(guān)于C語言中break與continue的用法和區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • C++超詳細(xì)講解強(qiáng)制類型轉(zhuǎn)換

    C++超詳細(xì)講解強(qiáng)制類型轉(zhuǎn)換

    在C++語言中新增了四個關(guān)鍵字static_cast、const_cast、reinterpret_cast和dynamic_cast。這四個關(guān)鍵字都是用于強(qiáng)制類型轉(zhuǎn)換的
    2022-05-05
  • 深入探討C語言中局部變量與全局變量在內(nèi)存中的存放位置

    深入探討C語言中局部變量與全局變量在內(nèi)存中的存放位置

    本篇文章是對在C語言中局部變量與全局變量在內(nèi)存中的存放位置進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05

最新評論