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

指针的的基本概念

指针(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、应为指针指定一个地址后,才能在语句中使用指针。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值