目录
前言
很荣幸在这周加入了创新创业实验室的预备役,这也是🐑🐑开始写博客的原因,很开心可以以这种方式记录在编程世界的学习 。
这周唐奇学长简单讲解了指针和结构体,主要任务是结构体题组,现在来总结一下这一周的练习,以及学到的知识😁😀。
结构体
首先我们为什么要用到结构体,我们都已经学了很多int char …等类型还学到了同类型元素构成的数组,以及取上述类型的指针,在一些小应用可以灵活使用,然而,在我们实际应用中,每一种变量进行一次声明,再结合起来显然是不太实际的,类如一位学生的信息管理,姓名(char),学号(int)成绩(float)等多种数据。如果把这些数据分别单独定义,就会特别松散、复杂,难以规划,因此我们需要把一些相关的变量组合起来,以一个整体形式对对象进行描述。
结构体基本形式:
1,首先使用关键字struct,他表示接下来是一个结构体。
2;后面是一个标志名称(name),它是用来引用该结构体的标记。
//申明一个结构体
struct student
{
char name[20];//一个字符串表示的name;
int a;//一个整型变量表示的学号 ;
float grade;//一个浮点型表示grade成绩;
};//注意分号不能少,这也相当于一条语句;
结构体变量的引用:
使用结构体,那么就需要创建变量,也就是结构体变量,例如:
struct student a;//创建一个结构体变量,在后面可以直接使用
▲羊羊觉得很有意思的用法:
通过比较结构体中的一个变量,对整个结构体进行排序
for(int j=0;j<n-1;j++) //冒泡排序
for(int i=0;i<n-1-j;i++)
{
if(a[i].t1<a[i+1].t1)
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;//从大到小排序每个节目t1
}
else if(a[i].t1==a[i+1].t1&&a[i].t2>a[i+1].t2)
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;//t1相同的按t2从小到大排
}
}
指针
指针是存放地址的变量,用来指向另一个对象(如:变量,数组)
int a; //这是一个普通的整型变量
int *p=&a; //首先从P 处开始,先与*结合,所以说明P 是一个指针,然后再与int 结合,说明指针所指向的内容的类型为int 型.所以P是一个返回整型数据的指针(1)*p会返回存储的变量a的值
(2)&p和p会返回变量a的地址
注意:地址包括🎁位置信息和🎁类型信息(缺一不可)
(1)int*ptr;//指针的类型是int*
(2)char*ptr;//指针的类型是char*
由于不太会指针,所以去B站看了小甲鱼的视频,(下面是一些笔记)不过还是似懂非懂,接下来还会继续深入学习,毕竟指针是C语言的灵魂,等到彻底搞定的时候羊羊会写一篇指针详解。
字符串数组
因为这周写题经常用到字符串数组,但在应用的过程中并不是很熟练,所以又去总结了一遍(以图片形式观看)