c语言结构体指针用法举例,c语言 结构指针,C语言超详细讲解指针与结构体

c语言结构体指针用法举例,c语言 结构指针,C语言超详细讲解指针与结构体

指针提供了一种操作地址的方式。因此,使用指针可以使C语言在操作计算机底层硬件时效率更高。此外,通过指针可以更方便地操作数组。数组允许你定义可以存储相同类型数据项的变量。结构是C编程中另一种用户定义的可用数据类型,它允许您存储不同类型的数据项。

目录

本节我们先知道指针1,内存和地址2,变量地址3,指针变量4,指针使用5,指针变量大小,先知道结构1,什么是结构2,结构的定义3,结构的使用。

本节目标

了解内存和地址的相关概念,初步掌握指针的定义和使用,理解结构的概念,掌握其基本用法和存取方法。

初识指针

1、内存与地址

内存是电脑中特别重要的内存,电脑中所有的程序都在里面运行。

*所以为了有效利用内存,内存被划分成小的内存单元,每个内存单元的大小为1字节。*同时,为了有效地访问每个存储单元,对存储单元进行编号,这些编号称为存储单元的地址。

2、变量的地址

变量是在内存中创建的(空间是在内存中分配的),每个内存单元都有地址,所以变量也有地址。

取出变量地址如下:

#包含stdio.h

int main()

{

int num=10

num//取出num的地址

//注意:这里有4个字节的num,每个字节都有一个地址,取出第一个字节的地址(较小的地址)。

printf('%p\n ',num);//打印地址,%p作为地址打印。

返回0;

}

3、指针变量

*指针变量:用来存储指针的变量(指针就是地址)。

# includestdio.h

{

int num=10

int * p;//p是整数指针变量,int*是p的类型,其中*表示p是指针,int表示p指向的变量的类型是int。

p=num

返回0;

}

4、指针的使用

#包含stdio.h

int main()

{

int num=10

int * p=num

* p=20

printf('%d\n ',num);

返回0;

}

Int* p=num:定义一个指针变量p,将num的地址赋给p,那么num的地址存放在p中,也就是说p指向num;

*p=20: *是解引用运算符,*p是对p的解引用,即通过p中存储的num的地址找到num,将num空间中存储的数据10修改为20;

5、指针变量的大小

#包含stdio.h

int main()

{

//%zu:用于打印无符号整数,类似于% u。

printf('%zu\n ',sizeof(char *));

printf('%zu\n ',sizeof(short *));

printf('%zu\n ',sizeof(int *));

printf('%zu\n ',sizeof(double *));

返回0;

}

*所以:指针大小在32位平台上是4字节,在64位平台上是8字节。(本质上,地址线的数量在不同的平台下是不同的)

初识结构体

1、什么是结构体

结构C是一种重要的数据类型,它由一组称为成员(或字段或元素)的不同数据组成,其中每个成员可以有不同的类型。结构通常用于表示几种不同类型但相关的数据。

结构类型不是系统定义的,需要程序员自己定义。c语言提供了关键字struct来标识所定义的结构类型。

关键字struct和structure name被组合成一个类型标识符,它与通常的类型标识符(如int和char)具有相同的状态,并且可以用于定义结构变量,就像int类型标识符标识整数变量一样。定义变量后,它可以像其他已定义的变量一样使用。成员,也称为成员变量,是结构中包含的几种基本结构类型,必须用“{}”括起来,以分号结尾。每个成员都应该指明具体的数据类型。

2、结构体的定义

我们以学生为例:假设一个学生包括五条信息:姓名、年龄、性别、学号。为了从整体上描述一个学生,我们可以定义一个结构类型。

结构研究

{

char name[20];//名称

int age//年龄

char sex[5];//性别

char id[15];//学生ID

};

3、结构体的使用

# includestdio.h

int main()

{

//定义结构变量并初始化它们

Struct Stu s={ '张三',18,'南',' 220210101 ' };

//两种结构访问运算符

//.操作员

printf('%s\t%d\t%s\t%s\n ',s.name,s.age,s.sex,s . id);

//-运算符

struct Stu * PS=s;//定义结构指针变量ps,将S的地址赋给ps

printf('%s\t%d\t%s\t%s\n ',ps-name,ps-age,ps-sex,PS-id);

返回0;

}

注意:-operator只能在已经有结构指针时使用。

关于C语言对指针和结构的超详细解释的这篇文章到此为止。有关C语言指针和结构的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: