神奇的判断数组名和指针的区别

  • 代码

代码

傻傻的区分不清楚数组名和指针的区别,下面的代码可以证明指针和数组名其实不是一个东西:

// An highlighted block
#include<stdio.h>
int main()
{char str1[] = "hello bit";char str2[] = "hello bit";const char* str3 = "hello bit";const char* str4 = "hello bit";if(str1 == str2)printf("str1 and str2 are same\n");elseprintf("str1 and str2 are not same\n");if(str3 == str4)printf("str3 and str4 are same\n");else printf("str3 and str4 are not same\n");return 0;
}

输出:

数组名是数组首元素的地址;指针存有字符串首字符的地址
两者有异曲同工之妙,所以
(str1 == str2) ,表示比较存放相同字符串的两个数组的地址是否相同;
(str3 == str4),表示比较存放相同字符串的两个指针的值是否相同

神奇的判断数组名和指针的区别相关推荐

  1. 从编译器角度分析C语言中数组名和指针的区别

    从编译器角度分析C语言中数组名和指针的区别 数组名和指针是两个往往很容易让人们混淆的概念,很多人以为数组名就是一个指针,也有很多人知道数组名不同于指针但是仅知道数组名的值不能像指针一样改变. 例如你可 ...

  2. C语言中数组名和指针的区别

    1: 指针是一个变量,而数组名不是.数组名是数组的首地址,即它本身就是一个地址. 2:假设a是一个数组名,而p是一个指针,当你使用 a 和 &a 时,得到值是一样的,都是数组的起始地址.而使用 ...

  3. 类中数组成员变量怎么初始化,数组名与指针的区别

    使用STL标准模板库之后,编程时已经很少使用数组和指针,相反,多使用序列容器vector代替之. (std::vector<int>,构造函数接受const std::vector< ...

  4. 数组名和指针的区别和联系、数组名取地址a

    前言 在很多用到数组名字的地方,编译器都会自动地将其替换为一个指向该数组首元素的指针. 所以,在大多数表达式中,使用数组名其实是在使用一个指向该数组首元素的指针. 数组名其实是种特殊的指针 int m ...

  5. 关于数组名与指针的相互转换

    本贴发于CSDN中的C语言讨论区,现转载于此,希望更多的人可以看到,写的不错. 主要是依据以下关于数组名和指针互相转换的道理: (1)当一个数组标识符出现在表达式中,这个标识符的类型就从"某 ...

  6. C/C++数组名与指针区别深入探索

    转之:http://soft.yesky.com/242/2082242.shtml 引言 指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用.于是乎,很多程 ...

  7. C/C++数组名与指针区别

    C/C++数组名与指针区别 引言 指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用.于是乎,很多程序设计者就被搞糊涂了.而许多的大学老师,他们在C语言的教学 ...

  8. char[]数组与char *指针的区别

    char[]数组与char *指针的区别 问题描述 虽然很久之前有看过关于char指针和char数组的区别,但是当时没有系统的整理,到现在频繁遇到,在string,char[], char *中迷失了 ...

  9. 总结:数组名和指针完全是两码事

    大家经常接触到诸如:"数组名可以当作指向数组首元素的指针用"."指针可以用数组下标方式进行访问"这些事实,所以数组和指针的概念经常被混淆,其实数组和指针是完全不 ...

最新文章

  1. JSONObject.fromObject--JSON与对象的转换
  2. 在Linux系统里安装Virtual Box的详细步骤
  3. 【记录一下】从0到1 我的python开发之路
  4. 【研究】Metasploit自动攻击模块
  5. 空心等腰三角形java_java打印输出任意大小的等腰三角形,实心菱形,空心菱形,平行四边形...
  6. 【渝粤教育】国家开放大学2018年秋季 0538-21T社区护理 参考试题
  7. 如何让vs2005的网站编译成一个DLL
  8. pod install pod update
  9. lammps建模_LAMMPS常用建模方法总结
  10. 什么是局域网?什么是广域网?CCNP是什么证书?电信能提供长途数据线路吗?
  11. EasyClick 易点云测自动化测试入门到精通
  12. Are We Ready For Learned Cardinality Estimation实验环境搭建
  13. 美团酒店:如何收割新一代90后住宿需求? | 一点财经
  14. Android.mk文件语法规范及使用模板
  15. 小熊派BearPi-HM nano开发板 -- 前期准备
  16. 西门子博途v16系统要求_博途V16安装TIA Portal v16
  17. 创业者手记:我所犯的那些入门错误
  18. TensorRT网络推理c++实现
  19. Google原生机pixel 刷机Root
  20. 定积分的计算(分部积分法)习题

热门文章

  1. TypeScript完全解读(26课时)_14.ES6和Nodejs中的模块
  2. struts2 url传参中文乱码
  3. Vijos1240 朴素的网络游戏
  4. CSS div 塌陷问题
  5. GameObject.Find 使用技巧
  6. 多线程,并发,异步,死锁
  7. 裸考大学英语四级写作核心词汇及模板
  8. Silverlight4Beta之与剪切板通信
  9. Oracle]高效的SQL语句之分析函数
  10. Flutter MouseRegion 链接高亮显示样式 只有你想不到 没有你做不到的