C/C++的指针与数组
今天被指针与数组的区别搞晕了。初学者的羁绊。
网上查找了一下,下面总结下
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++的指针与数组相关推荐
- char *a 和char a[] 的区别(指针和数组的区别)
2019独角兽企业重金招聘Python工程师标准>>> 在C/C++中,指针和数组在很多地方可以互换使用,这使得我们产生一种错觉,感觉数组和指针两者是完全等价的,事实上数组和指针是有 ...
- 用指针查找数组中温度值为32的天数
<程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p92 5.1.2 上级实训内容 [实训内容4]假设一个数组用于存储一周7天,每天24小时温度的度数,数 ...
- 浅谈C中的指针和数组(一)
本文转载地址:http://www.cnblogs.com/dolphin0520/archive/2011/11/09/2242138.html 在原文的基础上加入自己的想法作为修改. 指针是C/C ...
- IOS笔记-C语言中的指针与数组
1.指针与数组 1)指针与一维数组 i.数组指针(指向数组元素的指针) 类型 *指针变量名: 指针定义完成后要初始化(不想让指向任何内容,=0,=NULL) int a[10]; int *p = ...
- C语言杂谈:指针与数组 (上) (转)
转自:http://blog.jobbole.com/86400/ 介绍 1> 指针定义:指针是保存变量地址的变量. 2> 本文重点 >> 指针与数组之间的关系 >> ...
- 国2c语言中指针与数组的赋值运算,C语言到汇编-指针与数组2
本章剩下的内容主要有: 1.指针与数组 & 地址算术运算 2.字符指针与函数 3.多维数组 & 指针与多维数组 4.指向函数的指针 每个内容举一个例子,第一个例子: int a[10] ...
- 【C 语言】数组与指针操作 ( 数组符号 [] 与 指针 * 符号 的 联系 与 区别 | 数组符号 [] 与 指针 * 符号 使用效果 基本等价 | 数组首地址 与 指针 本质区别 )
文章目录 前言 一.数组符号 [] 与 指针 * 符号 使用效果 基本等价 二.数组首地址 与 指针 本质区别 前言 参考 [C 语言]指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方 ...
- 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)
相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...
- 指针和数组的区别是什么?
指针和数组的区别是什么? 其实数组是一个地址,指针则是指向地址的地址. 举个例子: char array[10]; char *pt; pt=array; char array[10];的含义是,在内 ...
- 指针数组、数组指针、数组的区别与联系
指针数组.数组指针.数组的区别与联系! 一:基本定义 1.指针数组 char *arr[4] = {"hello", "world", "shannx ...
最新文章
- JDK、JRE、JVM三者间的关系
- UEditor添加自定义弹窗 插入音频地址
- ajax和json的综合应用
- 本地访问网站好使外网不好用 可能是防火墙端口
- java awt android_Android开发基础之Java 日期时间
- android中颜色对应的值
- HTML 纯数字或字母 超出div容器,如果是文字则可正常自动折行
- 拷贝出师表到另一个文件,恢复顺序
- brpc中的协程bthread源码剖析(一):Work Stealing以及任务的执行与切换
- td-agent 安装,配置,采集日志到postgresql
- chm打开秒退_用熊猫看书来看chm,却自动退出,什么原因?
- 微信分享内容给朋友、朋友圈、QQ、QQ空间等
- JS - 13 - 模块化
- ubuntu 的teamviewer一直显示“未就绪,请检查您的连接” 网络设置
- 树莓派做一个获取GPS时间的NTP服务器
- 看完《许三观卖血记》有感
- 关于ESD静电测试以及实际案例的修改(怎么让你的PCB更加好过ESD)
- 扬州和苏州计算机发展前景,江苏的这座城市太憋屈!就位于苏州和无锡旁边,却还比不上扬州...
- TansorFlow和Keras的入门教程
- 网络 /Web漏洞扫描