C语言指针结构体一些问题
2023-12-20 18:52:25
#include <bits/stdc++.h>
using namespace std;
typedef struct AAA{
int x1;
float x2;
}Q;
int main()
<%
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
Q k1;
Q k2;
k1.x1 = 99;
k1.x2 = 98.34F;
k2.x1 = 77;
k2.x2 = 87.34F;
//初始化完毕
Q* m1 = &k1;
Q* m2 = &k2;
m1 -> x1 = 75;
m1 -> x2 = 33.2F;
m2 -> x1 = 55;
m2 -> x2 = 11.3F;
return 0;
%>
#include <stdio.h>
int main()
{
int a=10;
int *p; //定义?个指针p
p=&a; //指针p获取变量a的地址
printf("%d",*p); //输出指针p所指向的内存中的值
getchar();getchar();
return 0;
}
????????这里 printf 语句里面*p 中的*号叫做间接运算符,作用是取得指针 p 所指向的内存中的 值。在 C 语言中*号有三个用途,分别是:
- 乘号,用做乘法运算,例如 5*6。
- 申明一个指针,在定义指针变量时使用,例如 int *p;
- 间接运算符,取得指针所指向的内存中的值,例如 printf("%d",*p);
在程序中存储一个整数 10,除了使用 int a;这种方式在内存中申请一块区域来存储,还有另外一种动态存储方法
malloc(4);
int *p;
p=(int *)malloc(sizeof(int));
上面的代码中我们发现了一个很奇怪的符号“->”。->叫做结构体指针运算符,也是用 来访问结构体内部成员的。因为此处 p 是一个指针,所以不能使用?.号 访问内部成员,而要 使用->。
文章来源:https://blog.csdn.net/SHI_56/article/details/135111661
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!