数组和指针数组的关系 数组指针即为该数组元素的什么?

[更新]
·
·
分类:互联网
2802 阅读

数组和指针数组的关系

数组指针即为该数组元素的什么?

数组指针即为该数组元素的什么?

数组指针存放的是要访问的内存地址。

如何定义指向string数组的指针?

这样写就可以了#includeltiostreamgt#includeltstringgtusing namespace stdint main(){string ss

c 如何定义指向结构体数组的指针?

struct person{ char* name?
int age
} * person1{#34Jerry#34,6};

MATLAB里面的二维数组元素怎么表示?

a类型是属于type *(type是你事先给a定义的类型)的,即type型指针。所以a的值是一个内存地址。
若a是一维数组,则a指向的是第一个元素。
若a是二维数组,也可以将a看成一个一维数组,那么其元素是其行向量。例如{{2,2},{3,4}}。
既然a又看成一维数组,那么*a即是其第一个“元素”——其第一行。而第一行亦是一个数组,所以*a是第一行这个数组的指针。
那么,**a即第一行的第一个元素a[0][0],而*(*a 1)则是第一行的第二个元素a[0][1]。下面的例子中,说明a与*a的值相同,但是需要注意的是地址相同,也并不意味着他们的指向的地方相同。
事实不仿试一下a 1与*a 1,会发现二者并不相等。
正是因为其意义不同。正是其意义的不同,所以可以通过地址运算,表示出相应位置的元素,比如说*(*(a 1) 1),表示的就是a[1][1]。
若a是高维的,其本质还是数组的嵌套,所以根据上面的方法易得出。下面这个例子正是一个很好的说明吧。
(其实我是看到这里才明白是怎么回事的。)

指针、数组名、函数名都是地址吗?

是的。c语言中, 函数名也称为函数的指针,所以c语言中函数名就是一个指针。 “函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。
如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后。 可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是大体一致的。函数指针有两个用途:调用函数和做函数的参数。