C语言中怎么输出数组的首地址

不借助指针赋值神马的可以么?

%p 直接用16进制地址形式输出地址
%d 把地址直接用10进制形式输出
char a[] = "hellow C++";
int b[] = {0x01,0x02,4,0x08,0};
如上数组如下输出都可以:
printf("十进制地址%d 十六进制地址%p", a, a);
printf("十进制地址%d 十六进制地址%p", b, b);
printf("十进制地址%d 十六进制地址%p", &a[0], &a[0]);
printf("十进制地址%d 十六进制地址%p", &b[0], &b[0]);
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-04
char a[10]; printf("%d",&a[0]);
第2个回答  2011-12-04
例如数组a[5];
直接
printf("%p",a);

C语言中怎么输出数组的首地址
d 把地址直接用10进制形式输出 char a[] = "hellow C++";int b[] = {0x01,0x02,4,0x08,0};如上数组如下输出都可以:printf("十进制地址%d 十六进制地址%p", a, a);printf("十进制地址%d 十六进制地址%p", b, b);printf("十进制地址%d 十六进制地址%p", &a[0], &a[0]);...

C语言怎么把起始地址输出来,用十进制数字,可以吗,教教我
int main(){ int a[10],b;printf("a数组的首地址为:%d\\n",a); \/\/输出数组a的首地址,因为数组名就是数组首地址 printf("b数字的首地址为:%d\\n",&b); \/\/输出数字b的首地址,因为b不是地址,&b才是b的地址.}

C语言,一维数组指的是第一个变量的地址?
要输出数组a的地址,用printf("%p", &a);要输出数组首元a[0]的地址,用printf("%p", &a[0]); 或 printf("%p", a);要输出数组首元a[0]的值,用printf("%d", a[0]);

C语言如何获得数组首地址的指针
单维数组名就是首地址,多维数组名就是第1维的首地址,因此取首地址,可以把数组名赋给对应的指针变量,或取索引为0的首个元素地址赋给对应的指针变量。举例:单维 int arr[10]; int * p =arr; 或 int * p =&arr[0];二维 int arr[10][10]; int (*p)[10] =arr; 或int (...

c语言 数组怎么输出它的地址
你循环语句里面找到最小值之后加printf(“%d\\n”,i);就可以了,这里i是你循环的那个参数,也就是数组下标。

C语言中整形数组的首地址的地址?
首先讲int a[3] = {2,3,4};这里的a是这个数组的首地址,比如定义如:int *p = a;这时如果你进行如下操作:p++;printf("%d\\n",*p);结果会是输出2,也就是说p+1相当于数组索引加1,但是像你所问的为什么&a和a是相同的 ,首先要知道他们分别代表什么意思,a:像上面所说的是数组的首地址...

大一C语言。。怎样利用指针输出一个字符数组中的第一个元素?
char a[10];char *p = a;printf("%c", *p);

C语言数组首地址相关问题!!
构成的二维数组,*a就是a[0],而a[0]就是第0行的首地址,也就是第一个数组的首地址。*(a+i)就是a[i],就是第i行的首地址。如果现在定义a是字符型数组,输出*a(也就是第一行的首地址)为0000,再输出*(a+1)就是0004,而不是0001,就可以说明a是指向一维数组的指针。

C语言中如何指定数组的首地址在指定的地址
但是可以省去分配空间这个步骤,而是只创建地址,这就是指针的概念。比如int a[12],你若是想创建另一个代替a[12],可以int *p=a;这样,p的值就是a数组的首地址了。int *p =(int*)0x80000;意思就是p[0]的地址是0x80000,创建的时候要确定(int*)0x80000已经分配过了,可以使用了,不然就相当...

C语言,指针数组:怎么把arr[1]以%d的格式打印出来?
。所以打印输出arr[1]要用%p。而不是%d。include <stdio.h> int main(){ int a[]={10};int b[]={20};int c[]={30};int *arr[]={a,b,c};printf("数组名b表示其数组首地址:%p\\n",b[0]);printf("arr[1]就是b数组的首地址:%p\\n",arr[1]);return 0;} ...

相似回答