指针
指针:[*]什么是指针?表示数据存储的地址
[*]语法:数据类型 *指针名 被指针对象
[*]*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 = # <br>
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也都可以
[*]苦于提供指针头里的地址去改变地址对应的值
[*]指针类型也是有地址的
[*]https://img2022.cnblogs.com/blog/2925723/202210/2925723-20221004200905790-1660069806.png
[*] 值传递和地址传递:
[*]值传递:默认传递值的类型:基本数据类型(整数类型、小数类型、字符类型),结构体、共用体
[*]什么是值传递:就是把值传递给另一个变量,被赋值的变量发生改变不影响到传递的变量
[*]地址传递:指针、数组
[*]什么是地址传递:地址传递要叫指针传递,将指针中变量存储的地址,传递个接收的变量,如果是数组,就将数组的首地址传递个接变量
[*]void main(){
//值传递
int i = 10;
int k = i;
k = 20;
//地址传递
double ii = 10.99;
double *ptr = ⅈ
double *kk = ptr;
*kk = 55;
getchar();
}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]