1数组和指针声明的差别
声明数组:为数组分配内存,为数组名分配内存(指针常量 4个字节)
指针:为指针分配内存(指针变量 4个字节)
1
2
3
4
5
6
7
8
9
10
|
#include <stdio.h> #include <math.h> void main()
{ int a[4];
//int *p ;p指向的单元没有初始化 printf ( "%d " ,*a);
//printf("%d ",*p); } |
1
|
warning C4700: local variable 'a' used without having been initialized
|
a没有初始化,但是 *a的内存已经分配
1
2
3
4
5
6
7
8
9
10
|
#include <stdio.h> #include <math.h> void main()
{ //int a[4]; int *p ; //p指向的单元没有初始化
//printf("%d ",*a); printf ( "%d " ,*p);
} |
1
|
warning C4700: local variable 'p' used without having been initialized
|
没有初始化,也没有分配内存,会出现错误。