学习目标:
指针以及结构体
学习内容:
1.额外内容:#define定义常量和宏
定义常量


**使用#define定义数字常量和字符串常量,**用#define定义是不用=的

定义宏

宏与函数区别:宏不需要写变量类型,宏的名字字母一般都大写。
但是调用宏和调用函数很相似~
2.指针

依次解析int* pa = &a ;
int*:表示定义整型指针变量(有需要也可以写char*等)
pa :表示指针变量名称
&a :表示指针变量里面存放的地址
提问,为什么int a=10要用4个字节?
答:因为此时visual studio用的是32位,每个地址编号都是32位的二进制数字串,也就是说每个地址编号占32bit,也就是4byte。
ps:要是用的64位,那么定义变量就占64/8=8byte了。
“&”:取地址操作符,把某个变量的地址取出来
“*”:解引用操作符,通过指针变量里面存放的地址,找到该地址里面存放的数据。
**3.结构体
结构体存在的意义:

如何定义结构体**(注意结尾}处的分号;)**:
struct Stu
{
char name[20];//
int age;//
float score;//这三个都是结构体成员
};//***!特别注意!,此处结尾有分号“;”***
介绍两种操作符 :

“.”操作符:结构体变量 . 结构体成员

“->”操作符:结构体指针 -> 结构体成员
构建结构体函数用来打印指针:

该函数不需要返回值,所以用void定义。
注意括号里面的形式参数用的是定义指针变量。
输入数据到结构体

scanf("%s %d %f",s2.name,&(s2.age),&(s2.score));//
数组本来就是地址,所以scanf(“”,数组)时不要加“&”
有关scanf函数:
如果读取正常的话,返回的是读取到的数据的个数;
scanf("%d",z)//返回值就是1
scanf("%d %d",a,b);//返回值就是2
如果读取失败,会返回EOF.
例题:输入多组数值,若输入的数字大于等于140,则输出“Genius”。

本文介绍了C语言中#define用于定义常量和宏的区别,讲解了指针的定义与作用,包括取地址和解引用操作。此外,详细阐述了结构体的定义方式以及如何通过.和->操作符访问结构体成员,并提供了一个输入数据到结构体的示例。最后,给出了一道关于输入判断的例题,当输入数字大于等于140时输出特定信息。
2113

被折叠的 条评论
为什么被折叠?



