#include<stdio.h>
void main()
{
char num[10] ={1,2,3,4,5,6,7,8,9};
int *q;
char *p=num;
q=num;
q=p;
printf("%d\n",sizeof(num));
printf("%d\n",sizeof(p));
}
下面警告:
Compiling...
test.c
F:\visual c++\test\test.c(11) : warning C4133: '=' : incompatible types - from 'char *' to 'int *'
F:\visual c++\test\test.c(12) : warning C4133: '=' : incompatible types - from 'char *' to 'int *'
test.obj - 0 error(s), 0 warning(s)
运行结果:
10
4
Press any key to continue...
数组名num与 指针变量p都是“char *”的类型吗?
为什么sizeof(num)和sizeof(p)不一样?
不胜感激!
void main()
{
char num[10] ={1,2,3,4,5,6,7,8,9};
int *q;
char *p=num;
q=num;
q=p;
printf("%d\n",sizeof(num));
printf("%d\n",sizeof(p));
}
下面警告:
Compiling...
test.c
F:\visual c++\test\test.c(11) : warning C4133: '=' : incompatible types - from 'char *' to 'int *'
F:\visual c++\test\test.c(12) : warning C4133: '=' : incompatible types - from 'char *' to 'int *'
test.obj - 0 error(s), 0 warning(s)
运行结果:
10
4
Press any key to continue...
数组名num与 指针变量p都是“char *”的类型吗?
为什么sizeof(num)和sizeof(p)不一样?
不胜感激!