写在前面的话:本系列主要是自己在c语言运用时,对一些不了解,但开源代码中常用的技巧,和一些c语言中偏门和易错点进行解析。

加入了自己的分析,如果不到位请多海涵,另外,引用一些非常好的文章(都有引用link),重新组织,便于读者全面认识C语言。

上一篇 因我的编辑方式采用图片形式,少于200字还不让发,我晕~

上一个link:http://www.cnblogs.com/lwer/archive/2013/05/21/3091264.html

下一篇:http://www.cnblogs.com/lwer/archive/2013/05/21/3091394.html

许多人(我也经常如此)认为数组名就是指针,这是一种误解。这一节详解他们之间的区别点与相同点:

看下面code:

  int* tran;int b[10];tran = b;cout<<b<<endl;cout<<tran<<endl;//两者结果一样//看到上述代码,真是一模一样  如果你认为如此的话 估计你上C语言程序设计的课上睡着了 接着往下看 ~~~~cout<<sizeof(b)<<endl;//结果为40 (注:32bit 机,可能不同位数的机器结果会不一样) cout<<sizeof(tran)<<endl;//结果为4//可能还是看不出有什么端倪  接着往下看~~~~tran++;//okb++;//error//这下明白了吧,数组名其实是一个指针标量,而指针是一个变量(指针) 

下面引用:详细介绍C与C++数组名与指针区别(不知是哪位大神写的,很不错~,可惜找不到link了)

既然数组名不是指针,而为什么到处都把数组名当指针用?于是乎,许多程序员得出这样的结论:数组名(主)(系)不是指针的指针(表)。整个一魔鬼~~

揭密数组名
现在到揭露数组名本质的时候了,先给出三个结论:
(1)数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;
(2)数组名的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量;
(3)指向数组的指针则是另外一种变量类型(在WIN32平台下,长度为4),仅仅意味着数组的存放地址!

转载于:https://www.cnblogs.com/lwer/archive/2013/05/21/3091315.html

C语言系列(二):最近重拾C语言的想法,谈到C中易错点,难点;以及开源代码中C语言的一些常用技巧,以及如何利用define、typedef、const等写健壮的C程序...相关推荐

  1. c语言常考易错知识点,C语言中易错点知识点拾遗

    C语言中易错点知识点拾遗 1. 首先,feof()是文件结束检测函数,如果没有结束,返回值是 0,结束了是 1 由于 feof(fp)返回 0 才 是没有结束,所以通常写成 while(!feof(f ...

  2. c语言中local status6,C语言中易错的地方(一)

    c++中易错的地方 1:scanf int a; int b; scanf("%d-=%d",&a,&b); printf("a=%d,b=%d" ...

  3. 利用 Linux tap/tun 虚拟设备写一个 ICMP echo 程序

    利用 Linux tap/tun 虚拟设备写一个 ICMP echo 程序 前面两篇文章已经介绍过 tap/tun 的原理和配置工具.这篇文章通过一个编程示例来深入了解 tap/tun 的程序结构. ...

  4. 大学C语言期末考试·选择题·易错点难点总结笔记

    这是我刷的错题,然后错题知识点归纳,每一套题一个编号段 第一套题 1.%二元运算符,左结合性,左右都为整数,不能是双精度型 2.数组[0]第一个和[4]第五个, 3.字符0为NULL 4.结构体变量定 ...

  5. C语言 基础理论中易错易忘易忽略知识点 第一节

    二进制:Binary        八进制:Octal       十六进制:Hexadecimal           十进制:Decimal 1>   ASCII值:  数值小于32   : ...

  6. C语言在二叉搜索树找到第k个最小元素(附完整源码)

    C语言在二叉搜索树找到第k个最小元素 C语言在二叉搜索树找到第k个最小元素完整源码(定义,实现,main函数测试) C语言在二叉搜索树找到第k个最小元素完整源码(定义,实现,main函数测试) #in ...

  7. 缓解焦虑症的4个方法,让你重拾生活的信心和勇气

    焦虑症是一种常见的心理疾病,其主要症状包括焦虑.紧张.恐惧等情绪上的困扰,以及头痛.心悸.胸闷.失眠等身体上的不适感.如果不及时缓解,焦虑症会严重影响患者的生活和工作,甚至导致抑郁症等其他心理疾病的发 ...

  8. 【C语言(二)】运算法则

    该系列是编程语言中C语言系列,内容是比较基础的部分,适合查漏补缺的用户 本篇是编程语言中C语言的第二篇,在第一篇中我们罗列了C语言中的数据类型,本篇主要讲述的是对数据类型的操作--即运算法则 运算符 ...

  9. 【收藏】C#面试题整理笔试篇(最全1000+道带答案)300道填空 + 300道选择 + 300道判断 + 70道读程序写结果和看程序填空 + 100道简答题

    <程序员>曾陪伴了无数开发者成长.<新程序员>全新归来,推荐给大家! <新程序员> 一.填空: 1.操作符( && )被用来说明两个条件同为真的情况 ...

最新文章

  1. Android之Fragment使用简介
  2. update-alternatives使用方法
  3. Jupyter notebook中用python matplotlib ax3.plot_surface绘制的三维图(3D图)(三维函数)无法旋转解决办法(%matplotlib notebook)
  4. [js] 实现一个函数记忆的方法
  5. 嵌入式linux sd卡读写,嵌入式Linux之我行——S3C2440上MMC/SD卡驱动实例开发讲解(二)...
  6. 不再“挤牙膏”!英特尔公布技术路线图,豪迈放言:“将在 2025 年夺回芯片性能桂冠!”...
  7. HDU 5978 2016ICPC大连 H: To begin or not to begin
  8. 24岁女孩与30岁男人的精彩对白
  9. JavaScript实现模糊推荐的input框(类似百度搜索框)
  10. qq恢复官方网站服务器繁忙,qq恢复官方网站
  11. PHP使用Socket发送字节流
  12. Linux中的UID与GID
  13. IDEA 资源文件配置中文乱码问题
  14. AutoCAD(2014) Ribbon不见
  15. Windows系统下编译torch-points-kernels
  16. 慧据价值 链接未来丨第八届数据技术嘉年华大会全议程呈现
  17. python定位二维码_python实现二维码、条形码识别
  18. 软导作业2016年11月27日16:32:47
  19. simulink 汉明码 用法_通信原理及MATLAB/Simulink仿真
  20. MATLAB卷积神经网络cnn,Matlab编程之——卷积神经网络CNN代码解析

热门文章

  1. history模式 nginx配置_Vue history模式Nginx配置
  2. ubuntu下安装pythoncharm_Ubuntu下安装、激活并配置Pycharm
  3. Unity5.x 依赖关系打包 AssetBundle 研究
  4. AR+LBS街景实景红包PokemonGo游戏捉妖夺宝营销解决方案定制开发暨百度高德地图Unity插件SDK
  5. tensorflow python2迁移python3_tensorflow在python2和python3上的安装教程
  6. 广州电子厂房净化工程_医药厂房净化车间工程验收,怎么测定风速风量和换气次数?...
  7. 使用oracle创建表问题
  8. hosts文件分发其他机器
  9. 详解:hiveserver2的使用与介绍
  10. HIve之DML 聚合分组应用函数 静动态分区表