4/10/2023

本文介绍了C语言中的指针概念,包括一级、二级指针的使用。接着讲解了数组,特别是指针数组。然后重点讨论了结构体,如何声明、初始化结构体以及如何访问其成员变量。还展示了如何通过指针传递结构体参数,并提供了一个简单的打印结构体成员的函数示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

鹏哥C语言:指针与数组(二级指针)——结构体初阶24:08

复习:
int a = 10;
&a //取地址a
int *pa =&a ; // pa是指针变量,一级指针

二级指针

int ** ppa = &pa ; // pa也是变量,&pa取出pa在内存中起始地址赋予ppa
// ** 代表是二级指针
int *** pppa =&ppa ; // 甚至可以有三级指针,存的是ppa的地址
在这里插入图片描述

指针数组

int * parr[5]; // 整形指针的数组,存放指针的数组

结构体

  1. 也是一些值的集合,但是值的类型可以不同,这些值称为成员变量,类型可为指针、标量、数组甚至其他结构体
  2. 结构体的声明
//结构体的声明
struct Stu{
   //成员变量
   char name[20];//名字
   int age;//年龄
   char id[20];
}s1,s2; //s1和s2也是结构体变量
//s1,s2是全局变量
int main() {
   struct Stu s;//
  1. s1和s2也是结构体变量
    s1,s2是全局变量
  2. 结构体变量初始化
    接上个代码块
struct Stu c = {"SO_MAGIC"19"112334"}//注意id是字符类型要加双引号
  1. 访问结构体中的成员 ( 点操作符、箭头操作符(主要用于指针))
printf("%d\n",c.age);
struct Stu * ps = &c;
printf("%d\n",ps->age);
printf("%d\n",(*ps).age);//也可以这样做,两个输出一样

在这里插入图片描述

  1. 结构体传参:例打印结构体
print1( c);//哲理直接写c就可以了,传进去的是c这个结构数组
//下面是方法
void print1(struct Stu t) {
	printf("%s\n%d\n%s", t.name, t.age, t.id);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值