C/C++的指针与数组
来源:互联网 发布:数据库 oltp olap 编辑:程序博客网 时间:2024/06/05 05:20
今天被指针与数组的区别搞晕了。初学者的羁绊。
网上查找了一下,下面总结下
char *p="abcd";//
上面这种定义法,实质上为const char *p="abcd";就是“abcd”的空间在编译期,已经分配了空间,所以其值是不允许改变的,改变时,编译不报错,但运行时报错。但指针p还是可以指向其他地方。
char arr[]="abcd";
这种定义法,可以认为是char const arr="abcd",“abcd”的空间是运行时才分配的,所以“abcd”的值是可以改变的。而arr是可读而不可写的。作为函数参数传递时,
数组在作为函数参数时,数组名将蜕化为指针。C语言的书上是这么说的,我这里要说得是:这句话是不完全正确的!我们知道指针是占用内存的,但是这个蜕化而成的家伙是不占有内存的,仍然只是个标签。书上为什么这么说呢?书上的意思是说这家伙已经蜕化得不知道自己有几个元素了。
同样,也要遵从上面的定义规则。
补充一下:
*c++ :先*c 再c++
(*c)++ :先(*c) 再(*c)自增
*++c :先++c 再*(c)
char (*p)[5] 数组指针
char *p[5] 指针数组
参考:http://www.cppblog.com/geforcex/articles/1861.html
http://blog.sina.com.cn/s/blog_5e8a99570100ceqv.html
- C的数组与指针
- C数组与指针
- c 指针与数组
- C 数组与指针
- C数组与指针
- 指针与数组 C
- C指针与数组
- c数组与指针
- C-数组与指针
- C指针与数组
- c指针与数组
- C-指针与数组
- C 指向数组的指针,与存储指针的数组
- 【指针篇】C语言:指针与数组的区别,数组指针与指针数组的剖析。
- C语言的指针数组与数组指针关系
- C语言 数组指针与指针数组的探讨一
- C语言 数组指针与指针数组的探讨一
- C语言的指针数组与数组指针关系
- 创建型设计模式学习
- repeater 分列显示 以及布局
- Eclipse常用快捷键
- Web.Config文件详解
- 设计模式 -- 代理模式(Proxy Pattern)
- C/C++的指针与数组
- 现代嵌入式计算(英文版)
- C++: 对双线程下载程序的封装和模拟
- MapView之上添加浮动按钮
- JQuery学习4——标签页效果二
- 服务器程序设计初探
- 信息系统项目管理师学习札记5
- SQL各种连接查询详解(左连接、右连接..)
- hdu 1312