数组名的本质是什么? [问题点数:50分,结帖人cinterpreter]

Bbs1
本版专家分:0
结帖率 100%
Bbs5
本版专家分:4022
Bbs3
本版专家分:756
Bbs7
本版专家分:25303
Blank
红花 2003年9月 扩充话题大版内专家分月排行榜第一
2004年12月 C/C++大版内专家分月排行榜第一
2004年11月 C/C++大版内专家分月排行榜第一
Blank
黄花 2005年1月 C/C++大版内专家分月排行榜第二
Bbs5
本版专家分:4469
Bbs1
本版专家分:0
Bbs5
本版专家分:2545
Bbs4
本版专家分:1291
Bbs7
本版专家分:10480
Blank
黄花 2005年7月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2005年11月 C/C++大版内专家分月排行榜第三
2005年10月 C/C++大版内专家分月排行榜第三
2005年8月 C/C++大版内专家分月排行榜第三
Bbs1
本版专家分:67
Bbs2
本版专家分:182
Bbs6
本版专家分:7621
Blank
蓝花 2005年12月 C/C++大版内专家分月排行榜第三
Bbs6
本版专家分:7621
Blank
蓝花 2005年12月 C/C++大版内专家分月排行榜第三
Bbs6
本版专家分:8274
Bbs1
本版专家分:1
Bbs1
本版专家分:1
Bbs5
本版专家分:2545
Bbs1
本版专家分:1
Bbs6
本版专家分:8885
Bbs2
本版专家分:216
Bbs1
本版专家分:0
Bbs6
本版专家分:8885
Bbs1
本版专家分:36
Bbs1
本版专家分:2
Bbs2
本版专家分:251
Bbs1
本版专家分:9
Bbs2
本版专家分:372
Bbs1
本版专家分:0
Bbs5
本版专家分:2545
Bbs2
本版专家分:251
Bbs6
本版专家分:8885
Bbs2
本版专家分:397
Bbs1
本版专家分:53
Bbs1
本版专家分:4
Bbs7
本版专家分:10480
Blank
黄花 2005年7月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2005年11月 C/C++大版内专家分月排行榜第三
2005年10月 C/C++大版内专家分月排行榜第三
2005年8月 C/C++大版内专家分月排行榜第三
Bbs1
本版专家分:1
Bbs3
本版专家分:910
Bbs1
本版专家分:54
Bbs1
本版专家分:58
Bbs2
本版专家分:306
Bbs1
本版专家分:17
Bbs1
本版专家分:17
Bbs2
本版专家分:103
Bbs3
本版专家分:750
数组指针、二维数组名代表的是什么?
#include <iostream> using namespace std; int main() { char a[3][2] = {{'a','b'},{'c','d'}};
数组名是什么 数组名揭秘
现在到揭露<em>数组名</em><em>本质</em>的时候了,先给出三个结论:   (1)<em>数组名</em>的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;  (2)<em>数组名</em>的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量;  (3)指向数组的指针则是另外一种变量类型(在WIN32平台下,长度为4),仅仅意味着数组的存放地址!  1、<em>数组名</em>指代一种数据结构:数组  现在可以解释为什么第1
数组名是什么类型指针?
《C++Primer》第四版 4.2.4 使用指针访问数组元素 C++语言中,指针和数组密切相关。特别是在表达式中使用<em>数组名</em>时,该名字会自动转换为指向数组第一个元素的指针。 int ia={0,2,4
数组名是指针,为什么sizeof(数组名)还是数组的大小
<em>数组名</em>与指针有太多的相似,甚至很多时候,<em>数组名</em>可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"<em>数组名</em>就是指针"。这种误解的根源在于国内某著名的C程序设计教程(出版量最多的那本破书)。 <em>数组名</em>的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;<em>数组名</em>的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量;指向数
关于二维数组名是什么?
比如讲: int a[2][3] = {0,1,2,3,4,5} 声明一个数组指针:int  (*p)[3];   p=a;  这里提一个关键词:数组指针 经过我的研究,二维<em>数组名</em>跟函数指针一样,他们同样是指针,但是都是一种数据类型。函数指针,是一种变量类型,它是一种特殊的指针,这种指针能够表明这个函数的特征,同样是函数指针,但是函数不同(返回值,参数),函数指针类型就补一样。不能把一个函数
二维数组名本质
本人是一个C语言小白,二维<em>数组名</em>到底是啥?一直困扰着我,不过现在我想通了。现在把我的心得分享给大家: 首先:大家肯定知道一维<em>数组名</em>是首元素的地址。那么二维<em>数组名</em>是否是二维数组首元素的地址呢??带着这个问题,我们来写个程序验证一下: 定义一个2行3列的二维数组 int a[2][3] = { 1, 2, 3, 4, 5, 6 }; 二维<em>数组名</em>a不用说肯定是一个指针,我们知道一维...
关于二维数组a中,a[1] 与 &a[1]相等的一个疑问?(从来没弄懂)
-
c语言中的数组名代表的意义
<em>数组名</em>是数组的首地址,就是数组中的第一个元素的地址,是常量。常量是不能值在=的左边的。数组和指针的区别在于,指针是变量,是用来存储指向数据的地址的变量,而<em>数组名</em>是常量。一般情况下申明一个数组,比如char  a[10]; 之后  <em>数组名</em>a都是数组的首地址,是一个地址常量。但是在函数申明的形参列表中除外,比如: int  fo(char []); 在这种情况下的申明与 int  fo(char
数组名 和 &数组名
假设我们定义一个数组char a[16]; 那么a与&a分别代表什么呢?它们完全一样吗? a其实代表的是数组中首元素的地址,即a[0]的地址,&a代表的是整个数组的起始地址。我们做个测试就可以很容易知道。 我们分别测试a  a+1  &a   &a+1这四个值,它们分别为: a 0x0012fcc8 a+1 0x0012fcc9
数组的本质分析
数组的概念 数组的大小 数组地址与<em>数组名</em> 数组和指针并不相同 数组的概念 数组是相同类型的变量的有序集合 数组的大小 数组在一片连续的内存空间中存储元素 数组元素的个数可以显示或隐式指定 示例代码:数组的初始化 #include &amp;lt;stdio.h&amp;gt; int main() { int a[5] = {1, 2}; int b...
数组的本质
数据名代表数组首元素的地址; 数组的地址需要用取地址符&amp;amp;才能得到; 数组首元素的地址值与数组的地址值相同 数组首元素的地址与数组的地址是两个不同的概念;   int a[5] = { 0 }; printf(&quot;a = %p\n&quot;, a); printf(&quot;&amp;amp;a = %p\n&quot;, &amp;amp;a); printf(&quot;&amp;amp;a[0] = %p\n...
数组的实质
数组的<em>本质</em>就是顺序表,接下来用顺序表来创建数组. #include using namespace std; #define OK 1 #define ERROR 0 #define OVERFLOW -1 #define List_INIT_SPACE 100 //存储控件初始分配量 typedef int ElementType; //指定顺序表中数据类型 typedef
数组的本质(Java)
数组是基本上所有语言都会有的一种数据类型,它表示一组相同类型的数据的集合,具有固定的长度,并且在内存中占据连续的空间。在C,C++等语言中,数组的定义简洁清晰,而在java中确有一些会让人迷惑的特性。
数组和指针的本质区别
  Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4  
一维数组名本质
#include #include /* int a[]; * int (*p)[]; // 定义数组指针 * int *p2 * p = &a; * p2 = a; * p和p2的区别可从下面程序打印的结果看出 */int main(void) { int a[5] = {1, 2, 3, 4, 5}; int i
JAVA数组的本质
本文转载自https://blog.csdn.net/u013887236/article/details/50801477 1.数组是虚拟机自动创建的类型 int[] a1 = {1, 2, 3, 4}; System.out.println(a1.getClass().getName()); //打印出的数组类的名字为[I String[] s = new Strin...
本质本质之四:数组的本质
数组 1.“数组是同类型的聚合” 2.定义一个数组,如: TYPE x [ N ] , 意思是内存里有N个连续的TYPE型变量,连续的排列在一起。x 是第一个元素的地址,是一个立即数,是右值,不是变量。 x = = &x[0] .(这是编译器处理的,因为当你将 x 赋值给一个指针时  , 编译器实际上就用的 &x[0] ) 3.“多维数组也是一维数组”,这个说法不是一个空洞
数组名本质
1.<em>数组名</em><em>本质</em>上是一个常量指针 int b[10]; 在数组表达式中,<em>数组名</em>的值是一个指针常量,指向数组第一个元素的地址。它的类型取决于数组元素的类型。 指针和数组的区别:<em>数组名</em>在表达式中使用的时候,编译器才会产生一个指针常量。但当<em>数组名</em>作为sizeof操作符的操作数的时候,不能指针常量看待,此时sizeof返回的是整个数组的长度,而不是指针的长度。当<em>数组名</em>作为&操作符的操作数的时候,返
27_数组的本质分析
关键词:数组的<em>本质</em>、数组的大小、数组的地址与<em>数组名</em>、<em>数组名</em>的盲点 数组是相同类型的变量的有序集合。 1. 数组的大小 问题:编程中如何得到数组的大小? #include&amp;lt;stdio.h&amp;gt; int main() { int a[] = {1,2,3}; printf(&quot;count for a: %d\n&quot;, sizeof(a) / sizeof(int)...
C语言中数组的本质分析
--事物的难度远远低于对事物的恐惧!         这个篇章我们来聊一聊数组,数组其实就是相同的变量的有序集合。具体来可以参考下图:     从上图可以看到,数组是在一片连续的内存空间中存储元素,并且数组元素的个数可以显示或隐式指定         - int a[5] = {1,2};     //显示指定数组元素为5,未初始化的元素默认为0,即a[2]~a[4]的值为0     ...
第二章 数组名是一个指针常量吗?
http://blog.csdn.net/code_crash/article/details/4855018 [置顶] 第二章 <em>数组名</em>是一个指针常量吗? 分类: 数组与指针的艺术2009-11-23 11:02 12873人阅读 评论(52) 收藏 举报 translationc编译器存储qq   <em>数组名</em>是一个指针常量这种观点来源于<em>数组名</em>在表达式计算中与指针的结果等效性。例如下
说出来你们可能不信,但是数组名确实不是指针常量
这篇是一篇C语言劝退流教学文,看不懂的同学应该是劝退教学流的目标对象 (写完了才想起来注一下,本文提到的“数组”和“<em>数组名</em>”字样,指的是数组左值表达式(array lvalue expression)或数组声明(array declaration)所声明的变量) 首先,<em>数组名</em>不是常量指针,从两方面: 1. 类型方面,数组的类型是type[size],和常量指针类型type* const不同
数组名可作为指针常量
三个结论: (1)<em>数组名</em>的内涵在于其指代实体是一种数据结构,这种数据结构就是数组; (2)<em>数组名</em>的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量; (3)指向数组的指针则是另外一种变量类型(在WIN32平台下,长度为4),仅仅意味着数组的存放地址! #include    int main(int argc, char* argv[])
数组名表示指针常量的问题
6.若已定义 char s[10]; 则在下面表达式中不表示s[1]的地址的是 B 。 A、s+1 B、 s++ C、&s[0]+1 D、 &s[1] s是<em>数组名</em>,相当于数组首地址,是一个指针常量,这里s++相当于调用了s=s+1这个赋值表达式;对一个指针常量来进行赋值操作是不合法的。 这里注意<em>数组名</em>s和&s的区别。
C语言中数组名是常量,存在哪了?
C语言中<em>数组名</em>是常量,存在哪了? int a; a 存在哪了?
数组及数组名地址,常量地址等一些简单的研究
数组及<em>数组名</em>地址,常量地址等一些简单的研究 首先,声明一个数组和一个常量指针并指向那个数组。 1     int arr[3] = { 1, 2, 3 };      //声明数组 2     const int *p_arr = arr;        //声明常量指针 printf("*p_arr的长度=%d,arr的长度=%d\n", sizeof(p_arr),sizeof
数组名是指针常量
今天来说说<em>数组名</em>,经过查资料和自己的理解,发现<em>数组名</em>就是指针常量。 不废话,先上程序: #include int main() { int a[3]={1,2,3}; int (*b)[3]=&a; printf("a的值是%d,a[0]的值是%d,a的地址是%d\n",a,a[0],&a); printf("b的地址是%d,b的值是%d,*b的值是%d,**b的值是%d\n",&b,
数组名作为函数参数
要确定一个一维数组需要知道什么信息?一个数组的首地址,另一个是数组的长度。这样就可以唯一的确定一个数组了,因为数组是连续存放的,只要知道数组的首地址和数组的长度就能找到这个数组中所有的元素,那么只要传递这两个信息即可。而一维数组的<em>数组名</em>就表示着一维数组的首地址。所以只需要传递<em>数组名</em>和数组长度这两个参数就可以将数组从主调函数传入被调函数中。 当<em>数组名</em>作为函数的实参时,形参列表中也应定义相应的数组(或...
变量名与数组名
1、变量名 --代表对应的内存地址,但在代码中表示的是内存中的值int a = 10; //开辟一内存空间名字为a,里面存放10a++;         //a 存放 10&amp;amp;a 取的是a内存首地址2、<em>数组名</em> --具有数组属性 + 隐式转换后的指针常量的性质数组属性:类型:int a[10],a的类型为int [10]sizeof(a) = 10*sizeof(int) = 40;&amp;amp;...
数组名算变量么?
int a,a算变量还是常量?
数组名可以用变量表示吗之分析程序
#include int main() { int i, size = 10; int a[size]; printf("total:%d bytes\n", sizeof(a)); size = 20; printf("total:%d bytes\n", sizeof(a)); for (i = 0; i printf("%d ", a[i]); } p
给变量或数组赋值($$a) 但是变量或数组变量名称本身是动态
有时候可变的变量名会给编程带来很大的方便。也就是说变量名可以被动态的命名和使用。通常变量通过下面这样的语句来命名 : $a = 'hello'; 可变变量名指的是使用一个变量的值作为这个变量的名称。在上面的例子中,通过使用两个$符号,你可以把hello设置成一个变量的名称,就像下面那样。 $$a = 'world';  通过上面的两个语句,有两个变量被定义:变量$a,装的内容是”hello
数组名=&数组名
#include void fun(int p[10])//降级为int *指针 { printf("%p\n",p);//same printf("%p\n",&p);//not same//!!!!!!!!!!从这里看出降级了 printf("%p\n",&p[0]);//same printf("\n"); printf("%p\n",
逆向ELF文件
Linux ELF  ELF = Executable and Linkable Format,可执行连接格式,是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface,ABI)而开发和发布的。扩展名为elf。工具接口标准委员会(TIS)选择了正在发展中的ELF标准作为工作在32位INTEL体系上不同操作系统之间可移植的二进制文件格式。假定开发
解析:数组名a、数组名取地址&a、数组首地址&a[0]、数组指针*p
数组和指针向来就是傻傻分不清,当他们一起出现的时候就更加懵逼。使用实例详细解析:<em>数组名</em>a、<em>数组名</em>取地址&a、数组首地址&a[0]、数组指针*p
数组名是指针常量,还是常量指针?
C语言中二维数组的数组名与 ”&数组” 的区别
(1) 测试代码 :#include&amp;lt;stdio.h&amp;gt;int main(){     int i, j;     int a[5][5] = {{0,1,2,3,4},{5,6,7,8,9},{10,11,12,13,14},{15,16,17,18,19},{20,21,22,23,24}};     for(i=0;i&amp;lt;5;i++)     {         for(j=...
C语言中“数组名”和“&数组名
C语言中 <em>数组名</em> 和 &amp;amp;<em>数组名</em> == 实验环境 == 1. 编译器:gcc 5.4.0 2. 操作系统:Ubuntu 16.04 x86_64 缘起 本以为此知识点我已熟练掌握,可是最近应用的时候还真给记混淆了。所以写篇文章加深印象。 Show me the code 废话少说,show me the code. #include &amp;lt;stdio.h&amp;gt; int ...
二维数组名的类型
二维<em>数组名</em>的类型 在讨论二维<em>数组名</em>之前我们先看一下一维<em>数组名</em>表示的是什么? int b[3] = { 1,2,3 }; cout &amp;lt;&amp;lt; b &amp;lt;&amp;lt; endl; cout &amp;lt;&amp;lt; *b &amp;lt;&amp;lt; endl; 运行结果 说明一维<em>数组名</em>其实是一个指向数组第一个元素的地址。<em>数组名</em>b的类型就是int*型的(其实b的类型和int型的指针不是完全等价的)。那二维...
指针与数组的关系及本质
首先解释一下为什吗arr[i]=*(arr+i).在c语言中<em>数组名</em>表示数组首元素地址,arr[i]是按照*(arr+i)处理的,即按照数组元素首地址加上相应的位移量找到新元素的地址,然后解引用,便得到此处的值。接下来我们定义一个整型指针 int *p=arr可见p和arr是等价的。那接下来的事就好办了p[i]=*(p+i)输出的全是5,也就是说明这4个式子等价所以arr[i]只是伪装,*(arr+...
c数组本质
c中的数组是一种聚合类型,把同种类型的元素按顺序存储,即是数组。c中数组类型的特点在于:它是嵌套定义的。 看下一个二维数组int array[2][3]={{1,2,3},{4,5,6}};的内存存储形式: c中的数组是嵌套定义的:二维数组的元素是一维数组,三维数组的元素是二维数组…… 像array[2][3]这样的二维数组,是由两个一维数组组成的:array[0]、
数组和指针的区别与联系(详细)
指针和数组的区别: 1.概念: 2.存储方式、初始化(指针数组、数组指针)、存储内容(求sizeof) 3.赋值 6.传参(函数指针、函数指针数组、函数指针数组的指针、野指针) 一、概念 数组:数组是用于储存多个相同类型数据的集合。 指针:指针相当于一个变量,但是它和不同变量不一样,它存放的是其它变量在内存中的地址。 二、赋值、存储方式、求sizeof、初始化等 1.赋...
C/C++数组名与指针区别深入探索
指针是C/C++语言的特色,而<em>数组名</em>与指针有太多的相似,甚至很多时候,<em>数组名</em>可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"<em>数组名</em>就是指针"。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地进行着C/C++项目的开发,而身边还一直充满这样的程序员,他们保留着"<em>数组名</em>就是指针"的误解。  想必这种误解的根源在于国内某著名的
c语言数组名和指针的区别
之前就知道<em>数组名</em>和指针不同,因为运算符sizeof对<em>数组名</em>和指向数组的指针的运算结果是不同的–sizeof<em>数组名</em>得到的是数组空间的大小,而sizeof指向数组的指针获得的是指针自身占据空间大小。而如果是对指针进行间接访问,即对象是指针指向的,那么sizeof得到的是这个对象的大小。 举例:char aszFoo_Name[4]; char *pcFoo_Name = aszFoo_Name; s...
C++ 之 数组名和指针
在很多情况下,可以相同的方式使用<em>数组名</em>和地址 区别之一是: 可以修改指针的值  而<em>数组名</em>是常量不可修改 另一个区别: 对数组应该 sizeof 运算符得到的是数组的长度 对指针应用 sizeof 得到的是指针的长度   特点: <em>数组名</em>被解释为其第一个元素的地址    而<em>数组名</em>应用地址运算符时,得到的是整个数组的地址 例如: int main(void) { int n...
数组名是否就是指针?
关于<em>数组名</em>是否就是指针的疑惑来自C++Primer Plus 4.23的例子,例子如下:
有关sizeof 数组名的问题 数组名和指针的深入理解(C++)
魔幻<em>数组名</em> 请看程序(本文程序在WIN32平台下编译): #include using namespace std; int main() { char str[10]; char* pStr = str; cout sizeof(str): \t" sizeof(str) endl; cout sizeof(pStr): \t" si
01背包的源码下载
使用c++采用动态规划的思想实现了01背包 相关下载链接:[url=//download.csdn.net/download/victory06057231/3581464?utm_source=bbsseo]//download.csdn.net/download/victory06057231/3581464?utm_source=bbsseo[/url]
hadoop集群下载
实现hadoop集群的搭建,并附有详细的说明。 相关下载链接:[url=//download.csdn.net/download/u012625036/6873335?utm_source=bbsseo]//download.csdn.net/download/u012625036/6873335?utm_source=bbsseo[/url]
java运行环境下载
java运行环境,在安装android模拟器时,必须事先在电脑上安装java环境, 注意32位和64位,如果已经按装则不必再安装。 相关下载链接:[url=//download.csdn.net/download/u014454907/7122293?utm_source=bbsseo]//download.csdn.net/download/u014454907/7122293?utm_source=bbsseo[/url]
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview
我们是很有底线的