现在的位置: 首页 > web前端 > 正文

指针赋值使用方法

2020年07月20日 web前端 ⁄ 共 896字 ⁄ 字号 评论关闭

  指针赋值是计算机语言中的一种数据类型。在使用结构体指针时,首先应将结构体指针指向结构体,只有指针指向结构体后,才可以使用指针引用结构体中的成员变量,可以实现对结构中的成员变量进行赋值、完成相应运算。


  指针赋值运算小结


  1、指针变量加减一个整数


  如:p++p--p+ip-ip+=ip-=i等


  实际含义如p+i代表地址计算:p+c*i,c为字节数,整型c=2、


  实型c=4、字符型c=1。


  值得注意的是:P++(或P--)所表示的是指针方向发生了改变而P+i(或P-i)表示的是指针方向不发生改变。


  2、指针变量赋值


  如:p=&aa为变量,p为指针变量


  p=arrayarray为数组名


  p=&array


  p=maxmax为函数名


  p1=p2p2为指针变量


  注意:不能把一个整数或常数赋给p,如p=1000同样也不能把p赋给整型变量,如i=p


  3、指针变量可以赋空值


  如:p=NULL;实际NULL是整数0。


  4、两个指针变量可以相减如两个指针变量指向同一个数组的元素(右图),


  则p2-p1=4-1=3但p1+p2无意义。


  5、两个指针变量比较


  若两个指针指向同一个数组的元素,则可以比较,


  如:p1<p2p1>p2


  空类型指针


  ANSI新标准增加了一种空类型指针,定义的一般形式为:


  void*变量名


  具体使用时要做类型转换,如:


  void*p;(int*)p;


  指针赋值使用方法


  1、在使用指针时,必须进行初始化,如果没有直接所指示对像可以将指针变量指向NULL;


  例如:int*p=NULL;


  2、在指针使用完后,指针所指向的内在空间已经被释放,则指针应该指向NULL,否则会出现游离状态,这样的指针对整个程序都有一定的威胁;


  例如:


  int*p=NULL;


  p=(int*)malloc(sizeof(int));


  if(NULL==p)


  {


  return-1;


  }


  所申请的内存用完并被释放后,需要将所指向的指针指向NULL;即p=NULL。


  总之,指针赋值给大家简单的介绍了一些,希望大家多看看。


  

抱歉!评论已关闭.