0
点赞
收藏
分享

微信扫一扫

C语言学习记录6

指针

我们知道变量定义的目的是向内存申请空间来存放变量,那么是如何查找变量在哪?答:通过地址,内存例也有地址,像我们生活有各地址,如:寝室地址,学校地址...,同样的内存也有地址。

指针变量是用来存放地址的变量。

例:

类型标识符* 变量名(int * pa;float* pb;);

"*"代表该变量为指针类型,类型标识符(int ,float,char)代表指针指向变量的类型

指针变量的大小为4个字节(32位平台)/8个字节(64位平台)

例:

...
int a = 10;
int* pa = &a;//&a取出a变量在内存中的地址存放到pa这个指针变量中
*pa;//通过“*”操作符可以间接访问变量a
...

结构体

用来描述一个复杂对象的类型,该类型位开发者自己创建

例:

...
struct stu
{
char name[30];
int age;
char sex[10];
...
};//分号带表结构体类型结束
...

如上使用关键字struct创建了一个stu的类型

如何使用该类型与访问该类型成员?

...
struct stu
{
char name[20];
int age;
char sex[10];
};
int main()
{
struct stu s1={"张三",20,"男"}//使用结构体类型stu创建s1的结构体变量
s1.name;//通过“.”操作符访问结构体成员变量
return 0;
}

​结构体指针变量与变量的访问​

...
struct stu
{
char name[20];
int age;
char sex[10];
};
int main()
{
struct stu s1={"张三",20,"男"}//使用结构体类型stu创建s1的结构体变量
s1.name;//通过“.”操作符访问结构体成员变量
struct stu* ps = &s1;//将结构体变量s1的地址取出存放到结构体指针变量ps中
(*ps).name;//还是通过“*”操作符来简介访问,但与之前不同需要用圆括号“()”括起来。但这样看起来不方便,写起来也不方便
ps->name;//通过"->"操作符来访问结构体变量成员,这种写法简洁明了
return 0;
}

注:“.”与“->”区别“.”运用在结构体变量,“->”运用在结构体指针变量

举报

相关推荐

0 条评论