`
kmplayer
  • 浏览: 512694 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数组和指针的区别

 
阅读更多
假设a是数组,p是指针。比如 char a[5]; char *p;
数组和指针是完全不同的类型,当然有区别
1.
数组有点像label,本身不占空间,占空间的是数组元素。
指针本身占空间,大小为sizeof(T*),当然指向的内容也占空间。
2.
a 和 &a 类型不同,但是“地址”相同,都是label标记的地址
3.
sizeof(a) 等于数组元素的大小 乘以 元素的个数
sizeof(p) 指针本身的大小,其值在32位机器上一般等于4。
4.
数组本身不能改变,比如a=b或a++都是错误;
指针可以改变。数组可以赋值给指针;
5.
函数形参数组完全等同于指针。形象说编译器把数组形参编译为指针形参,也可以说函数声明中不存在数组(形参或返回值)。
6.
数组的数组和指针的指针完全不同,无法转换。

测试代码:
#include <iostream>
using namespace std;

int main()
{
    char b[3]={'1','2','3'};

    //cout<<*(b++)<<endl; 报错

    char* p=b;
    cout<<*(++p)<<endl;

    return 0;
}
分享到:
评论

相关推荐

    数组与指针区别(很全面)

    ### 数组与指针的区别详解 #### 一、引言 在C/C++编程语言中,数组和指针是两种非常重要的数据结构。虽然它们在某些方面存在相似性,但本质上有着显著的区别。本文旨在澄清关于数组名是否等同于指针这一常见的误区...

    数组的指针和指向数组的指针变量

    数组的指针和指向数组的指针变量 数组的指针和指向数组的指针变量是编程语言中一个重要的概念。数组的指针是指向数组在内存中的起始地址,而指向数组的指针变量是指向数组元素的指针变量。 概念: * 数组的指针:...

    数组与指针的艺术.doc

    《数组与指针的艺术》是一篇深度探讨C/C++中数组和指针特性的文章,旨在帮助读者理解和掌握这两种核心概念。文章指出,数组和指针是C/C++语言的灵魂,它们提供了对底层操作的强大支持,是语言效率的保证。然而,由于...

    数组和指针练习题目(精选)

    数组和指针练习题目(精选) 在编程语言中,数组和指针是非常重要的概念,它们的应用非常广泛,理解基础是非常必要的。本节将通过多种练习题目来加深对数组和指针的理解。 指针基础 指针是一种特殊的变量,它可以...

    数组和指针的区别(通俗易懂)

    ### 数组和指针的本质与区别 #### 一、引言 在计算机编程领域,数组和指针是程序员必须掌握的两大核心概念。虽然它们在某些情境下表现得极为相似,甚至可以相互转换,但本质上,数组和指针是完全不同的数据结构与...

    数组指针和指针数组的区别

    数组指针和指针数组的区别 在 C 语言中,数组指针和指针数组是两个容易混淆的概念,但它们之间有着巨大的区别。本文将详细讲解数组指针和指针数组的定义、内存布局、区别,并通过实例代码加深读者的理解。 一、...

    易语言数组转指针

    易语言数组转指针源码,数组转指针,子程序1,子程序2,子程序3,数组_整数转指针,数组_指针转整数,数组_文本转指针,数组_指针转文本,数组_字节集转指针,数组_指针转字节集,内存_申请,内存_释放,内存_取长度,内存_写入,...

    c语言中 数组名和指针的区别

    在C语言中,数组名和指针之间存在微妙且重要的区别,这往往让初学者感到困惑。虽然在某些上下文中,它们看似可以互换使用,但深入理解它们的本质差异对于编写高效、安全的代码至关重要。 ### 一、数组名与指针的...

    10 数组和指针.pdf

    10 数组和指针.pdf

    彻底理解指针,指针数组和数组指针,指针函数和函数指针

    2. **数组指针**:可以用来处理二维或更高维度的数组,简化数组操作。 3. **函数指针**:在实现回调函数、策略模式等设计模式时非常有用。 4. **指针函数**:通常用于返回动态分配的数组或其他复杂数据结构。 通过...

    数组与指针应用详解,区别

    数组与指针应用详解,区别 数组名与指针的关系是 C/C++ 编程中的一大难点,许多程序员容易将数组名与指针混淆,认为数组名就是指针。然而,实际上数组名与指针有着本质的区别。 第一点,数组名不是指针。从 sizeof...

    C++之数组与指针的异同 pdf

    在C++编程语言中,数组和指针是两种非常重要的数据结构,它们在内存管理和数据访问方面发挥着关键作用。然而,尽管它们在某些场景下可以互换使用,但它们之间存在着本质的区别,理解这些差异对于高效编程至关重要。 ...

    C\C++ 数组与指针彻底总结

    本篇文章详细讲解了指针、指针数组、数组指针、指针的指针等的应用,旨在帮助读者深入理解 C/C++ 语言中的数组和指针概念。 一、指针数组 指针数组是一个数组里存放的都是同一个类型的指针。例如,int *a[10]; 它...

    数组和指针学习资料

    在编程世界中,数组和指针是C/C++等低级语言的核心概念,它们的理解与熟练运用对于程序设计至关重要。本学习资料集包含了对数组和指针的深度解析,旨在帮助学习者彻底掌握这两个概念。 首先,我们来深入探讨数组。...

    指向二维数组的指针

    这种数组指针不同于整型指针,进行地址加 1 运算时,地址值增加了 6(放大因子为 2x3=6)。 对于指向二维数组的指针,需要了解以下几点: 1. 二维数组的地址结构:二维数组的地址结构可以看作是一个二维表格,每个...

    C++数组与指针深入剖析

    本文将深入探讨C++中数组和指针的概念、特点以及它们之间的联系和区别。 #### 二、数组的概念及内存表示 数组是一种基本的数据结构,用于存储同类型元素的集合。每个元素都可以通过索引进行访问,索引通常是从0...

    C++数组与指针对象数组对象指针

    C++数组与指针对象数组对象指针C++数组与指针对象数组对象指针

Global site tag (gtag.js) - Google Analytics