老调重谈:C语言中的指针和数组计算机等级考试
文章作者 100test 发表时间 2010:01:24 18:15:24
来源 100Test.Com百考试题网
在C语言中,有时候指针和数组等效,有的时候却不然。
什么时候不同?
1. 数组名本身就代表一个地址。指针代表地址的地址。所以,指针、数组的定义和可能有的多处的声明要严格匹配!不能将在一个地方定义的数组,在他处声明为指针。反过来也不行!(详见C专家p84)的
2. 指针和数组都可以在他们的定义中用字符串常量进行初始化。尽管看上去一样,但底层的实现机制却不同。定义指针时,编译器不为指针所指向的对象分配空间,它只是分配指针本身的空间。除非在定义的同时赋给指针一个字符串常量进行初始化。例如:char *p = "breadrain".