admin管理员组文章数量:1516870
指针~~~
维生素C吃多了会上火-个人CSDN博文目录
2022蓝桥杯
目录
- 指针
- 指针与数组
- 数组指针
- 指针数组
- 指针与字符串
- 指针与函数
- 指针函数
- 函数指针
- 指针与结构体
- 结构体指针
- 结构体数组的指针
指针
//指针变量定义
int *p=NULL;
//给指针变量赋值
p=&a;
int *q=&a;
//读出指针的值
cout<<*q;
//指针变量的+、-运算
p++:根据类型int增加sizeof(int),即刚好“跳过”一个整数的空间,达到下一个整数。
指针与数组
数组指针
优先级:()> [ ] > *
数组指针:它实际上是一个指针,该指针指向一个数组。
int (*p)[8];
//p先和*结合,说明p是一个指针变量
//这句话的意思就是:指针p指向一个大小为8个整型的数组。
//一维数组
int a[5] = { 1, 2, 3, 4, 5 };
//步长为5的数组指针,即数组里有5个元素
int (*p)[5];
//把数组a的地址赋给p,则p为数组a的地址,则*p表示数组a本身
p = &a;
指针数组
它实际上是一个数组,数组的每个元素存放的是一个指针类型的元素。
int *p[8];
//说明p[8]是一个数组,而int*是数组里面的内容,p是数组名
//这句话的意思就是:p是一个含有8和int*的数组
int a = 1;
int b = 2;
int *p[2];
p[0] = &a;
p[1] = &b;
指针与字符串
char *str="I love China!";
//%s是输出字符串时所用的格式符,在输出项给出字符指针变量名,则系统先输出它所指向的一个字符数据,然后自动使str加1,使之指向下一个字符,然后输出字符直到字符串遇到"\0"为止
printf("%s\n",str);
指针与函数
指针函数
这是一个函数,返回类型为指向int的指针
int *fun(int x,int y);
int * fun(int x,int y);
int* fun(int x,int y);
函数指针
这是一个指针,指向这个函数
//定义
int (*fun)(int x,int y);
//赋值
fun = &Function;
fun = Function;
//调用这个函数
int a=(*fun)()
int b=fun()
指针与结构体
结构体指针
struct STUDENT
{char name[20]; //姓名int num; //学号float score; //分数
};
//定义
struct STUDENT student1;
struct STUDENT *p = NULL;
p = &student1;
//指针引用结构体变量成员
(*p).num;
p->num;
struct node{int x,y;//定义了一个指向node的指针变量pnode *p;
};
结构体数组的指针
# include <stdio.h>
struct STU
{char name[20];int age;char sex;char num[20];
};
int main(void)
{struct STU stu[3] = {{"小红", 22, 'F', "Z1207031"}, {"小明", 21, 'M', "Z1207035"}, {"小七", 23, 'F', "Z1207022"}};struct STU *p = stu;int i = 0;for (; i<3; ++i){printf("name:%s; age:%d; sex:%c; num:%s\n", p[i].name, p[i].age, p[i].sex, p[i].num);}return 0;
}
本文标签: 指针
版权声明:本文标题:指针~~~ 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.betaflare.com/web/1687935518a159407.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论