- 论坛徽章:
- 0
|
原帖由 fcloudf 于 2007-7-12 16:19 发表 ![]()
#include
int main(void)
{
char **p ;
char *a = "hello";
p= &a;
printf("%s\n",*p);
return 0;
}
a 是一维数组 a 代表着数组的首地址,
1、&a代表什么?好费解啊。
比如 int a[]={1,2,3} a=数组首地址,并且是指向0列,类型是指向整型的。
可是 &a是什么,难道是指向一维数组的指针变量??
2、printf("%o\n",a)
与 printf("%o\n",&a) 值是不等的。为什么??
测试代码如下:
#include <stdio.h>
main()
{ char **p;
char *a="hello";
printf("%o\n",a);
printf("%o\n",&a); //即便是&a 指向的是一维数组的类型
// a 指向一维数组的第0个元素是指向整型类型
//至少 在值上它们应相等啊,为什么?
//p=NULL;
p=&a;
printf("%s\n",*p);
}
如果是二维数组 a代表指向o行的指针,类型是一维数组型指针。
谁能开导一下下,先谢。 |
|