一个数组存储在一块连续内存单元中;数组名就是这块连续内存单元的首地址;
第(I+1)个数组元素的地址可表示为&data[i]或(data+i);
可以通过以下方式为指向数组的指针赋值:
int a[10]; pa=&a[0];//或者pa=a;
一个指针变量可以指向一个数组元素。
int *ptr,data[10];
ptr=data+3;或者ptr=&data[3]
总结:
指针是一个变量,它存储另一个对象的内存地址。
指针的声明有基本类型、星号*和变量名组成。
为指针赋值,赋值运算符右侧必须是一个地址。如果是普通变量需要在前面加一个取地址符&;
如果是一个指针变量或者是一个数组,不需要加&运算符。
运算符*用于返回指针指向的内存地址中存储的值。
指向数组的指针,存储的是数组中元素的地址。数组data的第(i+1)个元素的地址可表示为&data[i]或(data+i)。
int num,*ptrnum; //*ptrnum 指针
ptrnum=&mun; //&取地址符
*prtnum=15; //*间接运算符
//#include <stdio.h>
void main(){
int a=10;
int *p_a,
p_a=&a;
printf("a的值是:%d",a);
printf("\n a的内存地址是:%d" &a);
printf("\指针p_a的内存地址是:%x\n",&p_a);
printf("\n a的值是:%d",*p_a);
printf("\n a的内存地址是:%x\n",p_a);
}