#include <stdio.h>
//void change(int* i){//2.通过方法修改值
// *i=500;
//}
//void change(int* a,int* b){//3.换位置
// int temp= *a;
// *a=*b;
// *b=temp;
//}
//void change(int* a,int* b){//4.交换2个数 不开辟内存
// *a=*a+*b;
// *b=*a-*b;
// *a=*b;
//
//}
int main() {
// int i=100;
// printf("i的值是:%d \n",i);//获取值
// printf("i:%p\n",&i);//打印地址
// printf("i:%d\n",*(&i));//通过地址获取值
//
// int* p=&i;// int*代表的是int类型的指针(地址) 指针存放的是变量的地址
// printf("%d\n",* p);
//
// printf("%d\n",sizeof(int));//数据类型所占字节 4 8 1
// printf("%d\n",sizeof(double));
// printf("%d\n",sizeof(char ));
// int i=100;
// int* p=&i;
// i=200;
//
// printf("%d\n",i);
// *p=300;//1.通过指针修改值
//
// //2.通过方法修改值
// change(&i);
// int a=100;
// int b=200;
// change(&a,&b);//3.换位置
// printf(" %d,%d",a,b);
// int a=100;
// int b=200;
// int* p1=&a;//p1只是变量而已
// int* p2=&b;
// p1=p2;//p1 p2只是变量改了 并没有改a的地址
// printf(" %d,%d",a,b);
// int a=100;//4.交换2个数 不开辟内存
// int b=200;
// a=a+b;//a=300 a没有变
// b=a-b;//b=200
// a=a-b;//a=100
// printf(" %d,%d",a,b);
// //5.二级指针和 多级指针
// int num = 12;
// //int* z指针 &取地址
// int *p = #//
// int **s_p = &p;//对一级指针取地址
//
// printf("p=%p,sp=%p\n", p, s_p);//取二级指针的地址
// printf(" %d\n",**s_p);//取值
return 0;
}
|