1.直接用数组名赋给指针,则指针指向数组的第一个元素的地址.因为数组名就是一个指针.
2.也可以指定数组的某一个元素,这时要加上&符号:
#include <stdio.h>
int main ()
{
int var[] = { 10, 100, 200};
int *ptr,*qtr;
int i=1;
/* 数组名赋给指针 */
ptr = var;
printf("存储地址:var[%d] = %p\n", i-1, ptr );
printf("存储值:var[%d] = %d\n", i-1, *ptr );
/*指定第2个元素赋给指针*/
qtr=&var[i];
printf("存储地址:var[%d]=%p\n",i,qtr);
printf("存储值:var[%d]=%d\n",i,*qtr);
return 0;
}
由于该指针类型为int,有4个字节,因此指针每加1,地址加4.
结果为:
存储地址:var[0] = 0x7fff9845ecd0
存储值:var[0] = 10
存储地址:var[1]=0x7fff9845ecd4
存储值:var[1]=100