数组名=&数组名

2017-11-29 12:41:14来源:CSDN作者:CSDN_LSD人点击

分享
#include <stdio.h>void fun(int p[10])//降级为int *指针{    printf("%p/n",p);//same    printf("%p/n",&p);//not same//!!!!!!!!!!从这里看出降级了    printf("%p/n",&p[0]);//same    printf("/n");    printf("%p/n",p+1);//same//  printf("%p/n",&(p+1));//error    printf("%p/n",&(p[1]));//same}//结论:数组名://          数组首地址,可以当作普通指针+-//          蕴含数组的空间大小,占多少字节//          取数组名的地址(首地址),还是首地址//      降级后->非空类型指针://          内存单元首地址,普通指针+-//          不知道首地址后面还有多少字节//          可以附上[]当作数组来用//          取普通指针的地址,就是二级地址了int main(void){    int array[10] = {0};    printf("%p/n",array);//same    printf("%p/n",&array);//same    printf("%p/n",&array[0]);//same    printf("/n");    printf("%p/n",array+1);//same//  printf("%p/n",&(array+1));//error    printf("%p/n",&(array[1]));//same    printf("/n");    fun(array);    return 0;}

output

0x7ffd2af1d3a00x7ffd2af1d3a00x7ffd2af1d3a00x7ffd2af1d3a40x7ffd2af1d3a40x7ffd2af1d3a0【0x7ffd2af1d388】0x7ffd2af1d3a00x7ffd2af1d3a40x7ffd2af1d3a4

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台