C語言結(jié)構(gòu)體指針案例解析
寫結(jié)構(gòu)體指針前,先說一下 . 號和 -> 的區(qū)別
記得當(dāng)初剛學(xué)C語言的時候,搞不清結(jié)構(gòu)體的 . 號和 -> ,經(jīng)常混淆二者的使用。
那么在C語言中 . 號是成員訪問運(yùn)算符,當(dāng)我們需要訪問結(jié)構(gòu)的成員的時候,就會使用到它
而當(dāng)我們需要使用結(jié)構(gòu)體指針來訪問結(jié)構(gòu)成員的時候,就得使用->運(yùn)算符了。
結(jié)構(gòu)體指針栗子:
#include<stdio.h>
#include<string.h>
 
typedef struct student{
int id;
char name[10];
char sex;
}stu;   //結(jié)構(gòu)體別名
 
void PrintStu(stu *student);
int main()
{
    //結(jié)構(gòu)體對象
    stu stu1;
    printf("sizeof of stu1 is:%d\n",sizeof(stu1));
    stu1.id=2014;
    strcpy(stu1.name,"zhangfei");
    stu1.sex='m'; 
    PrintStu(&stu1); 
 
    printf("***************\n");
 
	//結(jié)構(gòu)體指針
	stu *s = (stu*)malloc(sizeof(stu)); //申請堆內(nèi)存
	s->id = 2018;
	strcpy(s->name, "zhangfei");
	s->sex = 'g';
	PrintStu(s);
 
    return 0;
}
void PrintStu(stu *student)
{
    printf("stu1 id is :%d\n",student->id);
    printf("stu1 name is :%s\n",student->name);
    printf("stu1 sex is :%c\n",student->sex);
 
}
 
結(jié)構(gòu)體指針,就是指向結(jié)構(gòu)體的指針。
解釋C函數(shù)中的形參:
void PrintStu(stu *student)中的形參stu *student,說通俗點(diǎn)就是用來接住外部傳來的地址&stu1。
即 stu *student=&stu1; student可以取其他名字,形參并不是固定的。
到此這篇關(guān)于C語言結(jié)構(gòu)體指針案例解析的文章就介紹到這了,更多相關(guān)C語言結(jié)構(gòu)體指針案例內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
 Win10下最新版CLion(2020.1.3)安裝及環(huán)境配置教程詳解
這篇文章主要介紹了Win10下最新版CLion(2020.1.3)安裝及環(huán)境配置,CLion 是 JetBrains 推出的全新的 C/C++ 跨平臺集成開發(fā)環(huán)境,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2020-08-08
 Qt中利用QTextBrowser控件設(shè)計日志窗口
本文主要介紹了Qt中利用QTextBrowser控件設(shè)計日志窗口,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06
 C++利用鏈表實(shí)現(xiàn)圖書信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++利用鏈表實(shí)現(xiàn)圖書信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
 Qt創(chuàng)建項目實(shí)戰(zhàn)之手把手創(chuàng)建第一個Qt項目
我們在進(jìn)行軟件開發(fā)學(xué)習(xí)時,有時候需要qt軟件進(jìn)行代碼的敲寫,下面這篇文章主要給大家介紹了關(guān)于Qt創(chuàng)建項目實(shí)戰(zhàn)之手把手創(chuàng)建第一個Qt項目的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04
 C/C++高精度(加減乘除)算法的實(shí)現(xiàn)
高精度的算法,一般的方式是用一個很長的數(shù)組去記錄數(shù)據(jù),數(shù)組的每一位記錄固定位數(shù)的數(shù)字,記錄順序是低位到高位。本文將通過實(shí)例為大家介紹下高精度算法的實(shí)現(xiàn),感興趣的可以了解一下2022-12-12

