“指针”+1

 

      问:什么情况下可以对指针进行加减运算

      答 :当指针指向数组元素的时候,比如指针变量p指向数组元素a[0],我们希望p+1,指向下一个元素a[1].

 

 

指针指向数组元素时可以对指针进行以下运算:

  p+1;

 p-1;

p++,++p;

p--,--p;

 

 

 

 

 

 

 

 

 

 

 

分析“指针”+1

能想到的就有三种情况

 

 

1.加一个字节(指针+1并不是加一个字节)

# include
int main()

{
 int a[10]={0,1,2,3,4};
 int*p=a;
 p=(int*)((char*)p+1);/*强制转换成char类型,给p加一个字节 */
  int q=*p;
printf("%d %d %d\n",a,p,q,);
 }

2,加一个单元格(指针+1就是加一个单元格)

 

# include
int main()

{
 int a[10]={0,1,2,3,4};
 int*p=a;
 p=p+1;/*加了一个单元格*/
  int q=*p;
printf("%d %d%d\n",a,p,q);
 }

 

你可能感兴趣的:(C基础)