指针
指针:
- 什么是指针?表示数据存储的地址
- 语法:数据类型 *指针名 被指针对象
- *prt 是值
- prt 是地址
- int *prt = &xxx,声明指针并保存地址
-
//引入头文件 #include <stdio.h> void main(){ int num = 1; int num2 = 200; //1.int * 表示类型为 指针类型 //2.名称 ptr,ptr就是一个 int *类型 //3.ptr指向一个int类型的变量地址 int *ptr = #
ptr = &num2; //改变存放地址 *ptr = 100; //提供ptr去修改num地址里面的值 //1.获取本身地址 &ptr(指针也是有地址的,int * 也是类型) //2.ptr - 存放的地址 //3.*ptr - 获取指针头里面存放的值 printf("num=%p ptr=%p ptr地址%P:%p ptr值:%d",&num,&ptr,ptr,*ptr); getchar(); } -
细节:
- int *ptr的int是根据指向的地址的类型来决定的,double、floa也都可以
- 苦于提供指针头里的地址去改变地址对应的值
- 指针类型也是有地址的
-
值传递和地址传递:
-
值传递:默认传递值的类型:基本数据类型(整数类型、小数类型、字符类型),结构体、共用体
- 什么是值传递:就是把值传递给另一个变量,被赋值的变量发生改变不影响到传递的变量
-
地址传递:指针、数组
-
什么是地址传递:地址传递要叫指针传递,将指针中变量存储的地址,传递个接收的变量,如果是数组,就将数组的首地址传递个接变量
-
-
void main(){ //值传递 int i = 10; int k = i; k = 20; //地址传递 double ii = 10.99; double *ptr = ⅈ double *kk = ptr; *kk = 55; getchar(); }
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)