一、数组名
数组名在大多数情况下表示为数组首元素的地址,但有两个例外
1.sizeof可用来计算数组所占字节数,sizeof(arr)中的数组arr代表整个数组
2.&arr,此时数组arr代表整个数组的地址
整个数组的地址和数组首元素的地址有什么区别?
假如有int arr[10],数组地址和首元素地址相同,但数组地址+1间隔40个字节,数组首元素地址+1间隔4个字节
int main() {
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
printf("%pn", arr);
printf("%pn", &arr);
printf("给两个指针各自加1n");
printf("%pn", arr+1);
printf("%pn", &arr+1);
return 0;
}
如果我们想存放这个间隔40字节的数组的指针就要用到“数组指针”
二、数组指针
数组指针本质上是指针,用于存放整个数组的指针,用int(*p)[10]表示
int main() {
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
int(*p)[10] = &arr;
printf("%pn", p); 08FF9A4
printf("%p", p+1); 08FF9CC
return 0;
}
三、指针数组
指针数组本质上是数组,是用来存放指针的数组,用int* arr[10]表示
int main() {
int a = 1;
int b = 2;
int c = 3;
int* arr[3] = { &a,&b,&c };
printf(" % p % p % p", arr[0], arr[1], arr[2]); //008FF818 008FF80C 008FF800
return 0;
}
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
Java Development Kit (JDK)和Java Runtime Environment (JRE)是两个不同的Java发行版。 JDK是Java开发者所必需的软件开发工具包,包含了Java编译器、Java虚拟机(JVM)、Java运行时环境(J…