第八章——定义指针变量

本文介绍了指针的基本概念,包括其作为内存地址的存储、不同类型指针的使用限制,以及指针运算规则。通过示例展示了如何运用指针操作数组元素。涵盖了指针指向变量、指针运算与数组索引的关系,以及常见编程语言中的指针应用技巧。
摘要由CSDN通过智能技术生成

基类型有以下两方面的作用:

1.基类型规定了指针变量中可存放哪类变量的地址

int  *p1, i=5;

float  f=3.14, *p2;

        p1只能用来保存int型变量(比如i)的地址而不能把float型变量f的地址存放到p1中,否则会导致错误。

可用赋值语句

p1=&i;

把变量i的地址存放到指针变量p1中,这时变量p1的值为变量i的地址。

2.指针变量参与运算时,计算结果依赖于基类型

假设p为指针变量,k为任意整数,C规定p+k的值依然表示地址,并且等于:

p的值+基类型变量所占存储单元的大小

与其他变量一样,在定义指针变量时可为它设置初值。  int  i=5*p=&i;

由于指针变量p中存放了变量i的地址,于是就在这两个变量之间建立了联系,人们把这种联系称为:

     p是指向变量i的指针变量

或称  p指向变量i

例题 

#include <stdio.h>

int main()

{

  int m=3, n=5;

  int *p1,*p2;

  p1=&m;

  p2=&n;

  printf("%d %d\n",m,n);

  printf("%d %d\n",*p1,*p2);

  return 0;

}

例题 

编程输出数组a的所有元素。

版本1

#include <stdio.h>

int main()

{ 

   int a[5]={50,40,30,20,10};

   int i;

   for(i=0; i<5; i++)

  printf(“%d ”,a[i]);

   return 0;

}

//版本2

#include <stdio.h>

int main()

{ 

   int a[5]={50,40,30,20,10};

   int i;

   for(i=0; i<5; i++)

   printf(“%d ”, *(a+i));

   return 0;

}

版本3

#include <stdio.h>

int main()

{

   int a[5]={50,40,30,20,10};

   int i, *p=a;

   for(i=0; i<5; i++)

  printf(“%d ”,p[i] );

   return 0;

}

版本4

#include <stdio.h>

int main()

{ 

   int a[5]={50,40,30,20,10};

   int i, *p=a;

   for(i=0; i<5; i++)

   printf(“%d ”, *(p+i));

   return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值