关于C语言中的指针和数组

吉格帕奇

我是C语言的新手。我对C中的指针感到困惑。

这是一个简短的程序:

void main() {
    int *array_ptr,big_array[20];
    array_ptr=big_array;
}

在这里,当我们将指针等同于数组的名称时,C会将数组的第一个元素的地址分配给该指针,因为它知道这array_ptr是一个指针并将存储一个地址。而在这种情况下,

 void main() {
     int i, *x;
     x = i;
 }

在这里,它将引发一个错误。在这种情况下,我们必须使用&i将其分配给指针x为什么我们需要&在整数/浮点数等情况下使用,而在数组的情况下则不需要使用呢?

jackarms

区别在于,当指定的数组名称不带下标时,C会替换指向数组第一个元素的指针。因此,如果您有一个int名为的数组array,则:

array === &array[0]

用于分配指针类型时。区别仅在于类型- int(和所有基本类型)与数组(数组是类型的集合)的处理方式不同。因此,指针的工作方式也不同,这仅仅是知道编译器如何处理它们的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

关于指针和数组

来自分类Dev

C语言中的指针的解释(也可以操纵数组)

来自分类Dev

C语言中的函数指针数组

来自分类Dev

关于C语言中指针功能的混乱

来自分类Dev

D编程语言中的指针,函数和数组

来自分类Dev

C语言中的指针和数组

来自分类Dev

C语言中的指针和数组之间的区别

来自分类Dev

数据输入C语言中的字符指针数组

来自分类Dev

关于C语言中的数组和字符串的困惑

来自分类Dev

与C语言中的指针混淆

来自分类Dev

C语言中的指针数组,易于迭代

来自分类Dev

C语言中的函数指针,数组和左值

来自分类Dev

了解C语言中的数组操作指针语法

来自分类Dev

了解C语言中的数组操作指针语法

来自分类Dev

关于C语言中的指针和数组的等价问题

来自分类Dev

C语言中数组的不兼容指针类型

来自分类Dev

C语言中的结构和数组挑战

来自分类Dev

关于C语言中的函数指针

来自分类Dev

C语言中的指针数组,易于迭代

来自分类Dev

C语言中的函数和数组

来自分类Dev

C语言中的指针/数组问题

来自分类Dev

关于C语言中指针功能的混乱

来自分类Dev

D编程语言中的指针,函数和数组

来自分类Dev

C语言中的数组和指针

来自分类Dev

C编程语言中的指针

来自分类Dev

C语言中的sprintf(指向char元素数组的指针)

来自分类Dev

在C语言中,关于指针

来自分类Dev

将数组传递到C语言中的指针数组

来自分类Dev

C语言中的数组指针