您的位置:首页 > 编程语言 > C语言/C++

c语言,指针和数组大小之间的关系

2014-05-18 19:17 513 查看
#include<stdio.h>
#include<malloc.h>
void main(){
int a[10]={1,2,3,4,5,6,7,8,9,0};
printf("a[10]:%d\n",sizeof(a));

int b[10]={1};
printf("b[10]:%d\n",sizeof(b));

int c[10];
printf("c[10]:%d\n",sizeof(c));

int *p = a;
printf("p:%d\n",sizeof(p));

char d[10];
char *p1=d;
char *p2=&d[0];
printf("d:%d\n",sizeof(d));
printf("p1:%d\n",sizeof(p1));
printf("p2:%d\n",sizeof(p2));
printf("%x\n%x\n",p1,p2);

int *p3 =(int*) malloc(40);
printf("p3:%d\n",sizeof(p3));

char *p4 = "now is showtime";
printf("p4;%d\n",sizeof(p4));
printf("*p4:%d\n",sizeof(*p4));

//指针数组
char *p5[]={"aaaaa","bbbbbb"};
printf("p5:%d\n",sizeof(p5));		//输出的大小是两个指针的大小
printf("*p5:%d\n",sizeof(*p5));

}

运行结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息