今天被指针与数组的区别搞晕了。初学者的羁绊。

网上查找了一下,下面总结下

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++的指针与数组相关推荐

  1. char *a 和char a[] 的区别(指针和数组的区别)

    2019独角兽企业重金招聘Python工程师标准>>> 在C/C++中,指针和数组在很多地方可以互换使用,这使得我们产生一种错觉,感觉数组和指针两者是完全等价的,事实上数组和指针是有 ...

  2. 用指针查找数组中温度值为32的天数

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p92 5.1.2 上级实训内容 [实训内容4]假设一个数组用于存储一周7天,每天24小时温度的度数,数 ...

  3. 浅谈C中的指针和数组(一)

    本文转载地址:http://www.cnblogs.com/dolphin0520/archive/2011/11/09/2242138.html 在原文的基础上加入自己的想法作为修改. 指针是C/C ...

  4. IOS笔记-C语言中的指针与数组

    1.指针与数组 1)指针与一维数组 i.数组指针(指向数组元素的指针) 类型  *指针变量名: 指针定义完成后要初始化(不想让指向任何内容,=0,=NULL) int a[10]; int *p =  ...

  5. C语言杂谈:指针与数组 (上) (转)

    转自:http://blog.jobbole.com/86400/ 介绍 1> 指针定义:指针是保存变量地址的变量. 2> 本文重点 >> 指针与数组之间的关系 >> ...

  6. 国2c语言中指针与数组的赋值运算,C语言到汇编-指针与数组2

    本章剩下的内容主要有: 1.指针与数组 & 地址算术运算 2.字符指针与函数 3.多维数组 & 指针与多维数组 4.指向函数的指针 每个内容举一个例子,第一个例子: int a[10] ...

  7. 【C 语言】数组与指针操作 ( 数组符号 [] 与 指针 * 符号 的 联系 与 区别 | 数组符号 [] 与 指针 * 符号 使用效果 基本等价 | 数组首地址 与 指针 本质区别 )

    文章目录 前言 一.数组符号 [] 与 指针 * 符号 使用效果 基本等价 二.数组首地址 与 指针 本质区别 前言 参考 [C 语言]指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方 ...

  8. 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

  9. 指针和数组的区别是什么?

    指针和数组的区别是什么? 其实数组是一个地址,指针则是指向地址的地址. 举个例子: char array[10]; char *pt; pt=array; char array[10];的含义是,在内 ...

  10. 指针数组、数组指针、数组的区别与联系

    指针数组.数组指针.数组的区别与联系! 一:基本定义 1.指针数组 char *arr[4] = {"hello", "world", "shannx ...

最新文章

  1. JDK、JRE、JVM三者间的关系
  2. UEditor添加自定义弹窗 插入音频地址
  3. ajax和json的综合应用
  4. 本地访问网站好使外网不好用 可能是防火墙端口
  5. java awt android_Android开发基础之Java 日期时间
  6. android中颜色对应的值
  7. HTML 纯数字或字母 超出div容器,如果是文字则可正常自动折行
  8. 拷贝出师表到另一个文件,恢复顺序
  9. brpc中的协程bthread源码剖析(一):Work Stealing以及任务的执行与切换
  10. td-agent 安装,配置,采集日志到postgresql
  11. chm打开秒退_用熊猫看书来看chm,却自动退出,什么原因?
  12. 微信分享内容给朋友、朋友圈、QQ、QQ空间等
  13. JS - 13 - 模块化
  14. ubuntu 的teamviewer一直显示“未就绪,请检查您的连接” 网络设置
  15. 树莓派做一个获取GPS时间的NTP服务器
  16. 看完《许三观卖血记》有感
  17. 关于ESD静电测试以及实际案例的修改(怎么让你的PCB更加好过ESD)
  18. 扬州和苏州计算机发展前景,江苏的这座城市太憋屈!就位于苏州和无锡旁边,却还比不上扬州...
  19. TansorFlow和Keras的入门教程
  20. 网络 /Web漏洞扫描

热门文章

  1. 在农村养殖什么最赚钱,推荐这两个项目,一年收入还是不错的
  2. iTunes Connect突然登录不了的原因
  3. c2000 电阻采样_采样电阻特点
  4. 【每日英语】2021-03-01
  5. 用MATLAB模拟三体运动的代码
  6. 点击---显示悬浮页面窗口
  7. 【论文笔记】Mutual Information-Based Temporal Difference Learning for Human Pose Estimation in Video
  8. 如何用pip从阿里云镜像下载python包
  9. 如何成为一名产品经理?
  10. Verilog实现AD574驱动(有限状态机)