C语言的(指针)和(数组)有没有人比较懂?

来源:百度知道 编辑:UC知道 时间:2024/06/21 21:57:48
想找资料可是网上的太复杂

有没有人 大致给我分析一下 有个概念就行!!

指针就是地址,指针变量用来存放地址
数组是存放同类型数据的集合,数组名是数组的首地址,但他是地址常量,可以把数组看成同一类型变量的集合,用来存放同一类型数据

数组和指针有共同性也有不同性。
共同点就是数组名和指针都是指向内存地址,
不同点就是指针可以自由移动,而数组名不可以。
如。 int *p;p++ 可以,
int a[5];a++不可以.

指针是有类型的地址,如int* p = a;则p是一个整型指针变量,其值是变量a 地址;
数组是一类型数据的集合,如int a[3] = {1,2,3};则a是数组名,是一个地址,即是数组中第一个元素的地址,但它只是地址,因为数组本身不是变量类型,而指针是有类型的,因此它并不是指针

说不明白,只能自己领会..
在自己大脑中建立内存模型的话,什么指针,什么数组,一切问题都不是问题.

(指针)和(数组)既有区别又有联系,在调用函数时,当形参是指针,程序调用传递的是数组的首指针,不管指向内容是什么,指针的大小都是一样的。
调用程序输出的是数组首指针的大小

你这种态度永远学不好知识……