C语言的灵魂--指针基本用法

来源:互联网 发布:2k17得分后卫身体数据 编辑:程序博客网 时间:2024/04/28 06:59

指针的的基本概念

指针(pointer)是一个值为内存地址的变量(或数据对象)
内存地址一般使用16进制来表示。通俗的理解为,变量就是一个内存,内存肯定有内存地址,而我们的指针就是来保存这个内存地址的变量。

1、基本用法

数据类型*指针变量名;
例如

int*ptr_num
char*ptr_name;
float*money_ptr;
double*p_price;

注意:在头文件stdio.h中,NULL被定义为常量,int*ptr_num=NULL;指针的初始值为空,表示指针不指向任何地址

2、取地址符&

int num=1024;int *ptr_num=#//%p 一个指针类型的占位符//%x 16进制占位符printf("num变量的地址是:%p\n",ptr_num);return 0;

打印输出00ff2345,注意:此处不能直接赋值常量。

3、间接运算符

*ptr_num=1111;
表示根据内存地址找到相应地址的空间,这个空间的值是1111

int num=1024;int * ptr_num=#//指针的地址,地址不一样了int * ptr_num2=&ptr_num;//%p 一个指针类型的占位符//%x 16进制占位符printf("num变量的地址是:%p\n",ptr_num);printf("*ptr_num对应的值是:%d\n",*ptr_num);*ptr_num=9999;//重新赋值为9999;//如何通过指针的指针,访问到原指针指向的空间printf("\n原空间num对应的值是:%d\n",**ptr_num2);//两个百分号return 0;

输出1024,表示这个地址所对应的空间里面的值是1024,最后变成9999。

4、指针的使用实例

int num = 10;int * ptr_num;ptr_num=#* ptr_num=>num;int *ptr_num2;ptr_num2=ptr_num;//两个指针都指向同一块内存*ptr_num2=99;//等价写法:num=99;

1、指针就是一个变量,只不过该变量中存储的是另一个对象的地址
2、如果一个变量存储另一个对象的地址,则称该变量指向这个对象
3、指针变量可以赋值,指针的指向在程序中可以改变
4、指针可存放C语言中的任何基本数据类型,数组以及其他所有高级数据结构的地址
5、若指针已经声明指向某种类型数据的地址,则它不能用于存储其他类型数据的地址
6、应为指针指定一个地址后,才能在语句中使用指针。

原创粉丝点击