指针

        在程序运行过程中,数组的大小是不能改变的,这种数组称为静态数组(对于无法事先预估准确数据量的情况,这种数组无法做到既满足处理需要又不浪费内存空间)。在C语言中可利用内存的申请和释放库函数,以及指向数组的指针变量可当数组名使用的特点来实现动态数组,其本质是一个指向数组的指针变量。

 

定义

float *p  ;  //p是指向单精度变量的指针变量,自己内部存放的是地址信息,地址信息内部存放的才是具体数据。

 

赋值:

float a=1.23;

float  *p  ;

p=&a;       //p这个指针变量只能指向同为单精度的变量,且不允许被赋值为非地址类型的数据,&a是取变量a的地址

 

引用:

float a=1.23;

float b=0.0;

float  *p  ;

p=&a;      //将变量a的地址数据赋值给指针变量p,指针变量p里的内容为变量a的地址数据

b=*p;      //将指针变量p里存放的地址数据所指向的具体内容取出赋值给变量b

 

 

其他:

float  *p1,a[5];

char  *p2;

p1=a;             //将数组变量a的首地址赋值给指针变量p1p1=&a[0];也有同样效果

p2=”Hello,World!”;  //将该字符串的首地址赋值给指针变量p2

 

 

注意:

如果直接对已经有地址数据的指针进行操作,则该地址对应的变量也会随之改变,例如:

float a=1.23;

float  *p  ;

p=&a;     

printf("*p=%f,a=%f   \r\n",*p,a);        //结果为:*p=1.23,a=1.23

*p=4.56;

printf("*p=%f,a=%f   \r\n",*p,a);        //结果为:*p=4.56,a=4.56

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值