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

C语言中,即使参数声明为数组,它仍然是个指针

 
阅读更多

转自:《C专家编程》


非参数指针:

指针实参:

数组实参:


语句array = array2; 将引起一个编译错误,错误信息是“无法修改数组名”。但是,arr = array2却是合法的,因为arr虽然声明为一个数组但实际上仍是一个指针。



分享到:
评论

相关推荐

    浅析c语言中指针作函数参数.pdf

    在C语言中,指针是极其重要的一个概念,它不仅是数据存储地址的抽象,而且在函数参数传递中扮演着关键角色。指针作函数参数能够让函数直接操作调用方的变量,实现数据的双向交换以及对数据结构如数组进行修改。 一...

    C语言字符串指针(指向字符串的指针)_C语言中文网1

    当一个指针变量被声明为数组类型时,它就成为数组指针,可以用来指向整个数组。例如,`int (*p)[5]`声明了一个指向包含5个整数的数组的指针。 4. **字符串指针(指向字符串的指针)** 字符串指针是指向字符数组的...

    C语言中指针和数组区别的分析.pdf

    而当声明一个数组时,我们则是为数组中的元素预留了一块连续的内存空间,并将数据值存储其中。 其次,访问方式上的不同是两者之间的另一个重要区别。数组采用直接访问的方式,我们可以通过数组名加下标的方式直接...

    超强的C语言指针学习笔记.pdf

    本文将深入探讨C语言中的指针概念及其复杂声明的理解方法——右左法则。文章将分为以下几个部分进行详细介绍: 1. **指针基础知识回顾** 2. **右左法则详解** 3. **复杂指针声明实例解析** 4. **常见错误与非法声明...

    C语言中的指针C语言中的指针C语言中的指针

    如果给指针变量赋值为数组的一个元素的地址,通过加减运算,可以访问数组的其他元素。例如,`int ch[6], *p; p = ch;`之后,`p+i`表示数组`ch`的第`i`个元素的地址,而`*p`或`*p+i`则获取对应的值。 二维数组可以视...

    c语言数组与指针

    在这个例子中,`printArray`函数接收一个整型数组和数组大小,`nums`作为参数传递时,它相当于传递了`nums`的首元素地址。 总的来说,理解和熟练运用数组与指针对于掌握C语言至关重要。它们在算法实现、内存管理、...

    c语言数组访问及强制转换

    这种方法之所以有效,是因为C语言中的数组名本质上是指向数组第一个元素的指针,而多维数组的表示也可以通过一层层的指针来实现。 #### 扩展讨论:处理未知大小的二维数组 文章还讨论了另一种情况:如何编写一个...

    C语言指针的左右法制

    C 语言的函数返回值不能为数组,这是因为如果允许函数返回值为数组,那么接收这个数组的内容的东西,也必须是一个数组,但 C 语言的数组名是一个右值,它不能作为左值来接收另一个数组,因此函数返回值不能为数组。...

    单片机C语言源码学习参考-用指针数组作为函数的参数显示多个字符串.zip

    2. **初始化指针数组**:接下来,你需要为数组中的每个元素分配内存并赋值,这通常通过动态内存分配(如`malloc`)或直接初始化字符串常量完成: ```c strArray[0] = "Hello"; strArray[1] = "World"; // ... `...

    对C语言指针知识的总结

    在C语言中,指针是一种基础且强大的数据类型,它代表了变量或数据对象在内存中的地址。理解指针对于掌握C语言至关重要。以下是对C语言指针相关知识点的详细总结。 首先,指针变量是一种特殊类型的变量,其存储的是...

    C语言程序设计:第10章 指针1.pdf

    在C语言中,指针是其核心特性之一,它提供了对内存地址的直接操作,使得程序能够高效地处理数据和实现复杂的数据结构。本章主要介绍了指针的基础知识,包括指针变量、指针数组、数组与指针、字符串与指针以及函数与...

    C语言指针常用形式的分析.pdf

    在这个例子中,指针p被赋值为数组a的第一个元素的地址,即数组的起始地址。由于指针现在指向一个整型数组,所以它可以通过指针算术访问数组的其他元素。 3. 二级指针:在C语言中,指针也可以指向另一个指针,这种...

    浅析C语言指针使用中的几个常见错误.pdf

    数组名在大多数情况下会被解释为数组首元素的地址,但是它是一个常量地址,不能被修改,即不能对数组名进行自增或自减操作。而指针变量则是一个变量,可以指向任何内存地址,并且可以改变其指向。在编程中,应当注意...

    数组与指针

    在C语言中声明一个数组时,需要指定数组的类型和数组中元素的个数。例如,声明一个整型数组的格式是"int 数组名[元素个数]"。 在对象数组中,数组的每个元素都是一个对象,这意味着每个数组元素都属于某个类。在...

    C语言中的左右文法和结合优先级

    右左法则是C语言中解析指针声明的重要方法,它的英文原文是:The right-left rule: Start reading the declaration from the innermost parentheses, go right, and then go left. When you encounter parentheses, ...

    c语言编程题之双指针有序数组的平方.zip

    下面将详细阐述这个问题的背景、解题思路以及双指针技术在C语言中的应用。 首先,我们需要理解有序数组的概念。有序数组是指数组中的元素按照一定的顺序排列,如递增或递减。在本题中,数组是有序的,这意味着我们...

    C语言程序设计第4章数组和指针

    指针是C语言中的另一个核心概念,它是一个变量,其值为另一个变量的地址。指针可以用来动态地访问和修改数组元素,提高程序的灵活性和效率。例如,声明一个指向整数的指针`int *ptr;`,然后通过`ptr = &A[0];`将...

    C语言中的三大定律

    数组名作为参数时,把它等同于指针看待了,例如: `void foo(int a[]) { ... }` 在上面的例子中,数组名`a`被当作指针使用,函数内部可以通过指针来访问数组元素。 C语言中的三大定律是学习C语言的基础,理解这些...

    浅谈C语言中函数形参为地址类型的定义形式和类型自动转换.pdf

    在一级指针、数组指针和二级指针中,如果形参为数组指针类型,则实参数组不需要指定列维数,但必须指定行维数。这是因为在C语言中,数组参数在传递给函数时会退化为指针,但是编译器需要知道该指针指向数组的列数以...

    浅析C语言使用指针的必要性.pdf

    C语言是编程界中一门历史悠久且强大的编程语言,其中指针的使用是C语言区别于其他高级语言的一个显著特点。指针提供了直接访问和操作内存的能力,这是其他许多语言不提供的。指针不仅对提高程序执行效率有显著帮助,...

Global site tag (gtag.js) - Google Analytics