c 函数及指针学习 4

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


没有初始化,也没有分配内存,会出现错误。





posted on 2014-04-28 14:17  CHEN NEHC  阅读(196)  评论(0)    收藏  举报