c语言结构体指针

C语言选择题 阅读详情

写结构体指针前,先说一下 . 号和 -> 的区别

记得当初刚学C语言的时候,搞不清结构体的 . 号和 -> ,经常混淆二者的使用。

那么在C语言中 . 号是成员访问运算符,当我们需要访问结构的成员的时候,就会使用到它

而当我们需要使用结构体指针来访问结构成员的时候,就得使用->运算符了。

结构体指针栗子:

​#include<stdio.h>
#include<string.h>
 
typedef struct student{
int id;
char name[10];
char sex;
}stu;   //结构体别名
 
void PrintStu(stu *student);
int main()
{
    //结构体对象
    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");

	//结构体指针
	stu *s = (stu*)malloc(sizeof(stu)); //申请堆内存
	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);
 
}

​

结构体指针,就是指向结构体的指针。

解释C函数中的形参:

void PrintStu(stu *student)中的形参stu *student,说通俗点就是用来接住外部传来的地址&stu1。

即 stu *student=&stu1; student可以取其他名字,形参并不是固定的。

下一篇 C语言字符串函数

c语言笔记 结构体指针运用 c语言其实有时候基本知识还是一样只是说换了一个名称但是所表示的含义是一样的。         结构体指针是指针的一种类型,可以指向结构体变量或者结构体数组,下面我们来探究一下结构体指针跟结构体变量的结合,以及结构体指针与结构体数组的结合。 1.结构体指针与结构体变量         下面Jack是结构体变量,p是结构体指针,以下的写法是等价的:所表示的是同一种事情,但是不同的表示方式。 阅读详情

相关推荐

c语言中结构体的指针初始化,c语言结构体指针初始化

今天终于看完了C语言深度剖析这本书,对C语言有了进一步的了解与感悟,突然发觉原来自己学C语言的时候学得是那样的迷糊,缺少深入的思考,在重新看书的时候发觉C语言基本教材虽然经典,但是缺乏独到性,老师在讲解的过程中也就照本宣科了,没有多大的启迪。看到C语言内存管理这块,发觉还是挺有用的,当然平时在编程时基本上就没有考虑过内存问题。定义了指针变量,没有为指针分配内存,即指针没有在内存中指向一块合法的内存...

weixin_33162568的博客 5732

c语言使用结构体实现学生管理系统

使用“结构”编写学生管理系统。需要以下功能: · 添加学生。学生应掌握学生证、姓名、性别等基本信息。确保每个学生 ID 都是唯一的。 · 查找学生。通过学生 ID 查找学生的信息。 · 修改学生。首先找到学生,然后修改他们的信息。请注意,学生 ID 无法修改。 · 删除学生。首先找到学生,然后删除他们的信息。 · 显示所有学生。一次显示所有学生的信息。

Troy Euan 5938

matlab 用m_map画地形水深图

clear,clc %投影 m_proj('albers equal-area','lat',[5 43],'long',[105 125],'rect','on'); %加载水深文件 [CS,CH]=m_etopo2('contourf',[-7000:500:3000],'edgecolor','none'); %绘制高分辨率陆地和海岸线 m_gshhs_h('patch',[0.1 0.9 ...

qq_44913577的博客 9511

C语言stu类型的变量,C语言-结构体

C语言中数组是把相同类型的数据类型的变量集中在一起了,而结构体则是把不同类型的变量聚集在一起。结构体也是一种数据类型,但是它是一种自定义的数据类型,也就是说和使用其他数据类型不一样,我们得先定义这种数据类型,然后才能用这种数据类型定义结构体变量,最后使用结构体变量。以下以学生结构体为例进行实际操作一、定义结构体数据类型,有三种方法,1、第一种是先定义结构体类型,再使用此类型定义变量:1 struc...

weixin_39955781的博客 3167

C++总结笔记

/ ++操作 这是因为定义的数组,申请的是连续的内存空间,当ptr++(ptr是int类型的指针变量),地址空间向后偏移是以int类型的大小为单位进行偏移的,相当于int类型数组元素的向后偏移。使用场景:它是最通用的转换形式,用于将一种类型转换为另一种类型,例如基本数据类型的转换(如 float 转 int),指向基类的指针或引用转为指向派生类的指针或引用等。在派生类被调用时会调用派生类中的函数,不会调用基类中的被重写的函数(基类中的函数需要加上virtual才可以,即基类中的函数是虚函数)。

weixin_50890461的博客 5233

多模态RAG实战:为LLM装上视觉之眼,实现图文混合文档智能问答

检索增强生成(RAG)技术通过结合外部知识库,有效缓解了大语言模型(LLM)的幻觉问题,并扩展了其知识边界。其核心原理是将文档切分、向量化后存入向量数据库,在问答时通过语义检索召回相关上下文,辅助LLM生成更精准的答案。这项技术的核心价值在于,它为大模型应用提供了一种低成本、高效率的知识注入与实时更新方案,广泛应用于智能客服、知识库问答、文档分析等场景。随着应用深入,纯文本RAG在处理产品手册、学术论文、设计图纸等富含视觉信息的文档时面临瓶颈。本文聚焦的**多模态RAG**和**视觉理解**技术,正是为了解

weixin_30698527的博客 722

c语言局部变量stu,C语言学习笔记

第一部分C语言的组成一.基本数据类型java中有八中基本数据类型,而在c/c++中没有byte和boolean(在C中0为false,非0为true)在c语言中多了long long unsiged(无符号,只能大于等于0)singned整形修饰和java语言同一种数据类型所占内存大小不一致,char,longsizeof运算符,计算当前数据类型所占用的字节的大小,如果传入变量名称,计算出变...

weixin_35651578的博客 1685

Keil C51里用printf打印数据,为啥总出乱码?手把手教你%bd、%hd、%ld的正确用法

本文深入解析Keil C51中printf打印数据出现乱码的根本原因,并提供格式符%bd、%hd、%ld的正确用法指南。通过详细的调试技巧和实战案例,帮助开发者解决串口输出问题,提升单片机开发效率。

weixin_26854829的博客 281

结构体变量

在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据。结构体的定义形式为: struct 结构体名{ 结构体所包含的变量或数组 }; 结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员(Member)。 结构体也是一种数据类型,它由程序员自己定义,可以包含多个其他类型的数据。 像 int、float、char 等是由C语言本身提供的数据类型,不能再进行分拆,我们称之为基本数据类型;而结构体可以包含多个基本类型的数据..

TheJunkoWho的博客 6081

unitree-G1外接 USB 麦克风完整配置指南

首先,将type-c麦克风插入G1机器人的USB口后,记录下USB麦克风的卡号(card)和设备号(device),通常显示为 card 1: Device [USB Audio Device]

m0_47999117的博客 589

基于Playwright和反爬虫规避技术的雪球股票讨论数据采集方案

随着量化投资和社交投资的兴起,雪球作为中国领先的投资社交平台,其用户讨论数据成为研究市场情绪的重要来源。本文将详细介绍如何使用最新的Playwright技术和反爬虫规避策略,构建一个高效、稳定的雪球股票讨论爬虫系统。本文详细介绍了基于Playwright的雪球股票讨论爬虫实现方案,涵盖了从基础配置到高级反爬虫策略的各个方面。AI驱动的反爬虫对抗更智能的请求调度算法区块链技术在数据溯源中的应用联邦学习在数据采集中的运用。

2201_76125261的博客 1004

C语言结构体与结构体指针的使用

C语言结构体与结构体指针的使用 tips:最近要好好学习一下数据结构,所以必不可少的就是c语言的结构体和结构体指针了,所以就整理一下这些基础知识 c语言结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合。说的通俗一点就是一个集合。c语言是一门面向过程的编程语言,而结构体的使用在某些层次上跟面向对象有点异曲同工之处了。下面回归正题,学习一下结构体以及结构体指针的知识。 一、结构体变量的定义和初始化 1、首先我们来看一下结构体的定义 struct 结构体名 { 成员列表; }

wrlovesmile的博客 8万+

恒玄BES调试笔记-BES2500如何打开COMPEXP

打开Compressor and expander会占用资源,这个根据个人项目需求而定吧!打开方法,以及参数修改如下: config\best2300a_ibrt_anc\target.mk SPEECH_RX_COMPEXP ?= 1 apps\audioplayers\bt_sco_chain_cfg_default.c #if defined(SPEECH_RX_COMPEXP) /*****************************************************

leezs的博客 705

C语言:结构体指针

使用结构体指针注意点: 1.如果用结构体指针,就不能用(点运算符)访问结构体中的变量,要用-> 比如:stu.score = 50; 变成 stu->score = 50; 2.指针要注意是否是野指针或者NULL,非法内存,会段错误,使用前要malloc 比如:struct Student *p;(野指针) 或 struct Student *p = NULL; 3.如果结构体指针发生偏移。则是偏移整个结构体的大小。 struct Student...

枕上青灯竹书香的博客 1万+

国自然基金申请书撰写新思路:如何合理利用AI提高本子竞争力?

最后给大家推荐的400多所高校教师都在用的AI平台——高级学术版专业应用平台,集成了国际主流学术应用,以及ChatGPT、Claude、Gemini、Grok等Al大模型的高级版本平台,还有,可以辅助大家高效完成科研和学术写作任务,当然撰写硕博论文,课题、职称论文、国社科、国自然基金本子也是手拿把掐。创新点、技术路线、前期基础,但是我们也可以把写好的初稿交给AI,让它扮演资深研究员,帮我们精炼表述、优化段落结构,并揪出可能被评审追问的逻辑漏洞。,我们需要的是让它帮我们理清楚思路,而不是让它替我们完成内容。

智能AI让学术科研更容易 662

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【C语言】结构体指针

虽然p和p1的值是相同的,都是2000H。但是p是指向结构体类型变量的指针,而p1是指向int型变量的指针。若执行p++,则p的值为2043H,而执行p1++,p1的值为2002H。上述是把结构体变量的首地址赋值给指针变量p,所以结构体指针变量p指向了结构体变量stu。从键盘输入一个学生的学号、姓名、年龄和成绩,并存入一个。指针的独特优势在于,在C语言中的某些功能只能借助于。可以进行哪些操作,取决于结构体变量的成员是哪种。变量的成员在本质上也是变量(或数组),所以对于。,当然也可以引用结构体变量的。

2302_76305195的博客 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

C语言指针与结构体详述

本文从基础出发,以数组引入指针,逐步讲解指针以及结构体的概念与使用。如果读者能够认真地读完本文,再去阅读一些较为复杂的C语言代码会很容易。

weixin_44969353的博客 9142

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【C语言】指针与结构体

✨作者:@平凡的人1 ✨专栏:《C语言从0到1》 ✨一句话:凡是过往,皆为序章 ✨说明: 过去无可挽回, 未来可以改变 🌹感谢您的点赞与关注,同时欢迎各位有空来访我的🍁平凡舍 文章目录@[toc]✍前言🌳指针🍁什么是指针🍁指针类型与指针解引用🍁野指针🍁指针运算🍁指针和数组🍁二级指针🍁指针数组🌳结构体🍁结构体的声明与成员的类型🍁结构体变量的定义和初始化及访问🍁结构体传参💺结语 ✍前言 指针和结构体这两块内容是非常重要的,可以说是C语言的重点内容了,同时,如果学习C语言版的数据结构,我们可以知道.

weixin_60478154的博客 6万+

c语言中结构体指针

1、指向结构体的指针变量: C 语言中->是一个整体,它是用于指向结构体,假设我们在程序中定义了一个结构体,然后声明一个指针变量指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到指向运算符“->”.

团长的专栏 2万+

C语言中struct typedef 以及结构体指针用法

struct 、typedef以及结构体指针用法 typedef用法结构体指针用法结构体初始化   typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。具体区别在于: 若struct node{ }这样来定义结构体的话。在定义 node 的结构体变量时,需要这样写:struct node n; 若用typedef,可以这样写:typedef struct no...

乌鸦大大 5万+

C语言指向结构体的指针,如何通过指针获取结构体当中的值

C语言指向结构体的指针,如何通过指针获取结构体当中的值 格式: 结构体类型 变量名称 ,* 指针名称 = &变量名称; 案例如下 定义结构体并定义结构体指针让其指向结构体 #include<stdio.h> #include<string.h> typedef struct stud{//定义了一个结构体 char Id[10];//学号 char Name[10];...

程序员猫爪 1万+

C语言 结构体指针

当一个指针变量指向结构体时,我们就称它为结构体指针 struct 结构体名 *变量名; //结构体 struct stu{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在小组 float score; //成绩 } stu1 = { "Tom", 12, 18, 'A'...

imxlw00的专栏 3984

【C语言基础】指针、结构体

指针是什么? 在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向 (points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以 说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。 1个单元的大小通常为1个字节 代码示例: #include <stdio.h> int main() { int a = 10;//在内存中开辟一个空间 int *p = .

HyDraZya的博客 5506

C语言结构体指针

当一个指针变量指向结构体时,我们就称它为结构体指针。struct 结构体名 * 变量名;//结构体 struct stu {//姓名 int num;//学号 int age;//年龄 char group;//所在小组 float score;//成绩 } stu1 = {//结构体指针 struct stu * pstu = & stu1;//姓名 int num;//学号 int age;//年龄 char group;//所在小组 float score;

AnChenliang_1002的博客 2346

【c 语言】结构体指针

首先,你需要定义一个结构体。int age;这里定义了一个名为Studentname(一个字符数组用于存储学生姓名)、age(一个整数用于存储学生年龄)和score(一个浮点数用于存储学生成绩)。这篇文章到这里就结束了如果觉得这篇博客对你有用的话,别忘记三连哦。我是豌豆射手^,让我们我们下次再见。

m0_74195174的博客 1367
上一篇: mysql 实战常用语法
下一篇: shell提取字符串中的数字保存到变量中
Qt上位机开发
Qt上位机开发 领域专家: C/C++技术领域 领域专家: C/C++技术领域
博客等级 码龄9年 9664粉丝 178原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值