目录: 1. 开篇 2. 论数组名array、&array的区别 3. array、&array的区别表现在什么地方 4. 讨论 5. 参考 1.开篇 很多博客和贴吧都有讨论这个话题,各有自己的表述方式,今天在他们的基础上我将继续试着以我自己理解的方式总结一下,欢迎大家的审阅和指评 ...
第二个为指向数组的指针. a只是a 的地址,a 就是a 的地址了, amp a是整个a 的首地址,是以整个数组为角度来看,虽然它与a 的值相同,但是 amp a 就已经增加了 个int类型的字节的长度了. 本机 linux 结果输出:a x a amp a x a a x a amp a x a c没错,上面I 和 II打印出来的地址是一样的,IV 要比 III 大 个字节的地址空间。下面是我对 ...
2012-11-03 16:17 1 16519 推荐指数:
目录: 1. 开篇 2. 论数组名array、&array的区别 3. array、&array的区别表现在什么地方 4. 讨论 5. 参考 1.开篇 很多博客和贴吧都有讨论这个话题,各有自己的表述方式,今天在他们的基础上我将继续试着以我自己理解的方式总结一下,欢迎大家的审阅和指评 ...
#include <stdio.h> int main() { int a[5]; printf("%d\n", a); printf("%d\ ...
以下代码会打印出什么样的日志呢? [cpp] view plain copy ...
前段时间,听了一堂C语言的课,那老师说:“数组名就是一个指向数组首地址的常量指针”。 我上百度查了一些,有好多教程、书籍等,都持相同的观点。 但我一直感觉——数组名不等于指针。 实践是检验真理的唯一标准,于此,有了以下内容。 首先,声明一个数组和一个常量指针并指向那个数组 ...
一,首先我们先分析下数组名和数组名取地址的区别。 我们都知道数组名是数组的首地址,然而对数组名取地址又是什么那?看下面一段程序你就会懂的。 #include "stdafx.h" #include<stdio.h> using namespace ...
C语言规定,数组名代表数组的首地址,也就是第0号元素的地址。所以a==&a[0] 但对数组名取地址时却要注意了,在理解“对数组名取地址”这一表达式的含义时一定要记住:数组名是“数组”这种变量的变量名 这样,&a就好理解了,它取的是“数组”这种变量的地址 &a+1自然 ...
今天上计算机系统课的时候老师讲到了C中的聚合类型的数据结构。在解释数组名的时候说“数组名是一个指针,指向该数组的第一个元素”,附上ppt(第二行): 我觉得这是不正确的,是一个常见的由“简化”产生的错误,数组名 != 指针。数组名是一个标识符,它标识出我们之前申请的一连串内存空间 ...
相信不少的C语言初学者都知道,数组名相当于指针,指向数组的首地址,而函数名相当于函数指针,指向函数的入口地址。现在又这样一个问题,如果对数组名取地址,那得到的会是什么呢?很多人立刻会想到:给指针取地址,就是指针的指针,既二级指针嘛!当然这样的结论是错误的,不然这篇笔记也就没有意义 ...