指针&指针与数组(一)
程序员文章站
2023-12-25 23:56:39
...
指针——即 地址 .
定义指针变量的形式如:数据类型 *指针变量名;
定义并初始化的形式为:数据类型 *指针变量名= & 变量名;
在定义指针变量是注意,一个指针变量只能指向同一个类型的变量。
“*”与“&”
* :取值运算符;& :取址运算符;*运算符与&运算符互逆;自左向右结合;
如:int i = 2000;
int * pointer;
pointer = & i;
printf ("%d \n", * pointer);
指针与数组
指针引用一个数组元素,可以用:
(1)下标法:a [ i ] 形式;
(2)指针法:如 * ( a + i) 或 * ( p + i ); // +i 是指指向地i个元素
其中的a是数组名,p是指向数字元素的指针变量,其初值 p = a. // p== &a[0].
注意:数组名即翻译成数组的第一个元素的地址!
例:假设有一个a数组,整型,有10个元素:
(1)指针法
#include<stdio.h>
void main()
{
int a[10];
int i;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
printf("\n");
for(i=0;i<10;i++)
{
printf("%d ",*(a+i));
}
}
(2)用指针变量指向数组元素
#include<stdio.h>
void main()
{
int a[10];
int i;
int *p;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
printf("\n");
for(p=a;p<(a+10);p++)
{
printf("%d ",*p);
}
}