指针:
- 什么是指针?表示数据存储的地址
- 语法:数据类型 *指针名 被指针对象
- *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(); }
-
内容来源于网络如有侵权请私信删除
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!