数组与指针的区别

在很多时候,对于指针变量可用数组方式操作,对于数组可用指针变量方式操作,可是指针变量和数组毕竟不是同一个东西,下面我们来归纳几点数组名和指针名的区别:
  以下的讲解基于如下这段代码:
    char a={'a','b','c'};
    int *p = a; 
1、指针变量名可以被赋值,数组名不可以被赋值。也就是说:p=p+1;是正确的,a = a+1;是错误的。
2、sizeof(p)的值为4,sizeof(a)的值为12。
  求指针变量的长度详见  http://birduu.com/211.html
    求数组的长度详见  http://birduu.com/220.html节。
3、对于定义的一个指针变量:char *p; 声明时写成 extern char p[n];(n=1,2,3...)的形式是不可以的;
   同样,如果对于数组形式的定义:char a={'a','b','c'}; 声明时写成 extern char *a;也是不可以的; 详见  http://birduu.com/431.html。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值