`
jubincn
  • 浏览: 242739 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
文章分类
社区版块
存档分类
最新评论

数组和指针的可交换性总结

 
阅读更多

转自:《C专家编程》

  1. 用a[i]这样的形式对数组进行访问总是被编译器改写为像”*(p+i)“这样的指针访问。
  2. 你可以使用小波形式访问指针,但请尽量限制在指针作为函数参数,而且你知道实际传递给函数的是一个数组。
  3. 在作为函数的参数时,数组的声明可以看作一个指针。作为函数参数的数组始终会被编译器修改为指向数组第一个元素的指针。
  4. 因此,当把一个数组定义为函数参数时,可以选择把它定义为数组,也可以将其定义为指针。不管哪种方法,在函数内部实际上获得的是一个指针。
  5. 在其它所有情况中,定义和声明必须匹配。如果定义了一个数组,在其它文件对它进行声明时也必须把它声明为数组,指针也是如此。

分享到:
评论

相关推荐

    程序设计基础徐明星w-讨论-数组-指针-函数PPT课件.pptx

    在这个课件中,讨论了几个核心概念:数组、指针和函数,这些都是C++或类似编程语言的基础。 首先,**数组**在编程中是一种数据结构,用于存储同类型的数据集合。在示例中,`char namelist[10][20]`定义了一个二维...

    Objective-C数组操作总结

    在iOS开发中,Objective-C作为苹果公司的官方语言之一,广泛应用于早期的iOS应用开发。...如果数组操作不当,可能会导致程序运行出错,例如下标越界等常见问题,因此在使用数组时也要特别注意安全性和效率问题。

    双重指针排序的例子,排序只交换地址,而不交换数据!

    在编程和算法领域,双重指针(也称为双指针)是一种常见的技术,它通过同时移动两个或更多指针来处理数组或链表中的数据。在这个例子中,我们讨论的是如何利用双重指针进行排序,特别是在不实际交换数据的情况下,...

    C语言指针(Pointer)课件``````

    例如,`void swap(int *a, int *b)`函数可以通过交换`a`和`b`指向的值来交换两个变量的值。 5. **多级指针** 一个指针可以指向另一个指针,形成多级指针,如`int **pptr;`。这在处理复杂数据结构,如链表和树结构...

    c代码-数组指针排序错误记录

    在C语言编程中,数组和指针是两个非常基础且重要的概念。数组是存储相同类型元素的集合,而指针则是存储内存地址的...通过学习和修复这些错误,开发者可以提高C语言编程技能,特别是在处理数组和指针时的效率和安全性。

    C语言指针详解教程.rar

    因此,使用指针时需要谨慎,遵循良好的编程习惯,确保代码的健壮性和安全性。 本教程的CHM文件"**C指针详解**"将更详细地探讨这些主题,包括指针的算术运算、指针与数组的关系、指针与结构体的结合、指针在函数调用...

    数组

    数组是编程语言中基本的数据结构之一,用于存储一组相同类型的数据。在这个问题中,我们看到了三个关于...此外,对于动态数组,`ReDim`和`ReDim Preserve`语句提供了更大的灵活性,允许在程序运行时改变数组的大小。

    用指针实现的C语言排序算法

    因此,在使用指针实现排序算法时,应当遵循良好的编程实践,确保代码的健壮性和可读性。 至于压缩包中的文件"研英核心词汇",其名称表明它可能与英语学习相关,尤其是词汇的学习,与C语言排序算法的主题并无直接...

    C/C++指针经验总结

    在编程世界中,C和C++是两种非常重要的语言,它们以其高效性和底层控制能力而闻名。其中,指针是C/C++中的一个核心概念,它允许程序员直接操控内存,从而实现灵活的数据操作和高级数据结构。这篇"《C/C++指针经验...

    C_C++指针经验总结

    同时,理解和避免指针错误,如空指针解引用、悬空指针、内存泄漏等,是确保代码稳定性和安全性的必要条件。 通过学习这篇经验总结,你应该能够更好地理解C和C++中的指针,并能自信地在实际项目中运用它们。记住,...

    C指针 C指针C指针C指针C指针C指针

    虽然它们可能初看起来复杂,但一旦熟练掌握,就可以利用它们的灵活性和效率编写出高效、复杂的程序。在学习C指针时,重点应放在理解指针的本质、如何安全地使用指针以及指针在实际编程场景中的应用上。

    C语言指针经典总结(复习利器)

    指针可作为函数参数,使得函数能够修改实参的值。同时,函数也可以返回指针,指向动态分配的内存区域。例如,`void swap(int *a, int *b)`可以交换两个整数的值。 7. **指向函数的指针**: 指针可以指向函数,...

    C语言指针课程PPT

    指针允许程序直接访问内存地址,增强了代码的灵活性和性能。以下是关于指针的详细知识点: 1. **变量与内存地址**: - 当在C语言中定义一个变量时,系统会为其分配内存空间,每个内存单元都有一个唯一的地址。 - ...

    C语言指针详解(让你不再惧怕指针)

    通过学习和实践,你可以有效地利用指针来提高程序的灵活性和效率,从而在编程世界中游刃有余。通过《C语言指针详解》这样的资料,你可以系统地学习和巩固这些知识,消除对指针的畏惧,成为一名更出色的C程序员。

    二级C语言课后题答案

    在题目中,填空题的部分涉及到一些基本操作和逻辑判断,例如数组元素的访问、指针的运算以及数组的交换等。例如,`a[j][i]`表示二维数组中第`j`行第`i`列的元素;`*sum`是对指针变量`sum`进行解引用,获取其指向的值...

    java【第4章:数组与方法】_数组的引用传递.

    了解这些基础知识后,开发者可以更好地控制和管理程序中的数据,提高代码的健壮性和可读性。在实际编程中,灵活运用数组和方法,结合引用传递的特性,可以帮助我们解决各种复杂问题。例如,排序算法中的快速排序或...

    指针是C语言可以用来直接访问内存地址

    指针的使用极大地增强了程序的灵活性和效率。以下将详细阐述指针在不同应用场景中的作用。 首先,指针在数组和字符串处理中发挥着关键作用。数组和字符串本质上都是内存中的一段连续空间。通过指针,我们可以方便地...

    数组 逆置-数据结构java

    理解并熟练运用这些数据结构可以帮助我们设计更高效、更具可扩展性的算法。对于Java开发者来说,掌握数据结构是提高编程技能的关键步骤。通过实践像数组逆置这样的基本操作,可以加深对数据结构的理解,并为解决复杂...

Global site tag (gtag.js) - Google Analytics