1、指针是一个变量,只不过该变量当中存储的是另一个变量的地址
2、如果一个变量存储另一个对象的地址,那么称该变量指向这个对象
3、指针变量可以赋值,指针的指向在程序执行中可以改变
指针p在执行中某时刻指向变量x,在另一个时刻也可以指向变量y
2、如果一个变量存储另一个对象的地址,那么称该变量指向这个对象
3、指针变量可以赋值,指针的指向在程序执行中可以改变
指针p在执行中某时刻指向变量x,在另一个时刻也可以指向变量y
指针基本用法
int num1=1024;
int num2=2048;
int *ptr1;
int *ptr2;
ptr1 = &num1;
ptr2 = &num2;
printf("num1的值是%d\tnum1的地址是:%p\n",num1,ptr1);
printf("num2的值是%d\tnum2的地址是:%p\n",num2,ptr2);
int num1=1024;
int num2=2048;
int *ptr1;
int *ptr2;
ptr1 = &num1;
ptr2 = &num2;
printf("num1的值是%d\tnum1的地址是:%p\n",num1,ptr1);
printf("num2的值是%d\tnum2的地址是:%p\n",num2,ptr2);
ptr2 = ptr1; //把num1的地址赋值给ptr2 那么这是后ptr1和ptr2都指向num1
*ptr1=11111; //修改变量num1的值为11111
printf("num1的值是%d\tnum1的地址是:%p\n",num1,ptr1);
printf("num2的值是%d\tnum2的地址是:%p\n",num2,ptr2);
*ptr1=11111; //修改变量num1的值为11111
printf("num1的值是%d\tnum1的地址是:%p\n",num1,ptr1);
printf("num2的值是%d\tnum2的地址是:%p\n",num2,ptr2);
指针赋值
int num1=1024;
int num2=2048;
int *ptr1;
int *ptr2;
ptr1 = &num1;
ptr2 = &num2;
*ptr2=*ptr1 相当于 num2=num1
int num1=1024;
int num2=2048;
int *ptr1;
int *ptr2;
ptr1 = &num1;
ptr2 = &num2;
*ptr2=*ptr1 相当于 num2=num1