数组与指针的区别
来源:互联网 发布:延迟选择实验 知乎 编辑:程序博客网 时间:2024/06/06 04:49
在很多时候,对于指针变量可用数组方式操作,对于数组可用指针变量方式操作,可是指针变量和数组毕竟不是同一个东西,下面我们来归纳几点数组名和指针名的区别:
以下的讲解基于如下这段代码:
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。
以下的讲解基于如下这段代码:
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。
0 0
- 数组指针与指针数组的区别
- 数组指针与指针数组的区别
- 数组指针与指针数组的区别
- 数组指针与指针数组的区别
- 数组指针与指针数组的区别
- 数组指针与指针数组的区别
- 数组指针与指针数组的区别
- 指针数组与数组指针的区别
- 指针数组与数组指针的区别
- 指针数组与数组指针的区别
- 数组指针与指针数组的区别
- 数组指针与指针数组的区别
- 指针数组与数组指针的区别
- 数组指针与指针数组的区别
- 数组指针与指针数组的区别
- 指针数组与数组指针的区别
- 指针数组与数组指针的区别
- 指针数组与数组指针的区别
- Java常考面试题
- 10-表单标签
- 46. Permutations&&47. Permutations II&31. Next Permutation
- OpenGL(七) 光照模型及设置
- bzoj 1367: [Baltic2004]sequence 左偏树+贪心
- 数组与指针的区别
- 数据结构(一)
- Spring @Scheduled定时任务动态修改cron参数
- bzoj 1303 中位数 题解
- MyBatis的动态语句使用
- 915M无线通讯模块 数传 SI4463 SX1278
- dp 神奇的口袋
- PHP实现给图片加文字水印
- Java 考题