作者:SHI家的鱼 链接:https://www.zhihu.com/question/41805285/answer/202040382 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1. 己址 数组和指针,都是有自己的地址 ...
我相信很多人都跟我一样被某些书害的不浅,在C语言中一直还把指针跟数组名混为一谈。其实它们跟本就是两样的东西,指针就是指针,数组就是数组,网上也有很多大牛作过很多非常深入的讨论,但是个人感觉有时候把问题想得太复杂了反而不好,尤其是对于新手,因为我们新手很难搞懂编译器背着我们到底都干了些什么。我们有时候应该透过现象看本质,但有时候也不要太钻牛角尖,一口吃不出个胖子,必要时 难得糊涂 ,站在抽象的角度去 ...
2013-02-15 19:34 1 2815 推荐指数:
作者:SHI家的鱼 链接:https://www.zhihu.com/question/41805285/answer/202040382 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1. 己址 数组和指针,都是有自己的地址 ...
sizeof数组名和字符指针是有区别的。 代码没有啥实际意义,就是为了看一下sizeof数组名和字符指针的区别。 结果为: length:8length:2048length:8length:8 当数组名作为函数参数传递时,会退化为字符指针。 ...
指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地进行着C/C++项目 ...
一,首先我们先分析下数组名和数组名取地址的区别。 我们都知道数组名是数组的首地址,然而对数组名取地址又是什么那?看下面一段程序你就会懂的。 #include "stdafx.h" #include<stdio.h> using namespace ...
前段时间,听了一堂C语言的课,那老师说:“数组名就是一个指向数组首地址的常量指针”。 我上百度查了一些,有好多教程、书籍等,都持相同的观点。 但我一直感觉——数组名不等于指针。 实践是检验真理的唯一标准,于此,有了以下内容。 首先,声明一个数组和一个常量指针并指向那个数组 ...
数组名本身是个地址常量,但是某些特殊情况下它的语义可以发生改变。例如sizeof(a),这时a表示整个数组对象(这里指语法对象,不是指类的实例)而不是这个常量本身。基于这个语义,对数组名取地址也是合法的,对于数组a来说&a的结果等于a这个地址常量本身的值。这是C/C++标准委员会 ...
原文:http://www.cnblogs.com/ddx-deng/archive/2012/12/16/3755862.html 第一个结论: #include "iostream.h" ...
编译器工作原理:在64位的计算机中,当创建一个指针变量时,计算机会为它分配8个字节的存储空间。但如果创建的是数组呢?计算机会为数组分配存储空间,但不会为数组变量分配任何空间,编译器仅在出现它的地方把它替换成数组的起始地址。 结论1:由于计算机没有为数组变量分配空间,也就不能把它指向其他地方。例题 ...