如何把数组的首地址保存在指针中
发布网友
发布时间:2022-05-21 09:26
我来回答
共3个回答
热心网友
时间:2023-10-22 06:24
数组的名称就是数组的首地址的指针
如int a[20];
你如果直接cout<<*a; 则输出的是a[0]的值,如果cout<<*(a+1)则输出a[1]的值,依此类推
按照你的要求,你可以定义一个 int *p;然后p=a;这样就把数组a[20]的首地址赋给了整形的指针p了;
-------------------------------------------
*数组一样的,*数组在内存中是按行优先的顺序存储的,以二位数组A[4][4]为例即在一串连续的内存空间中,存储的分别是
A[0][0] A[0][1] A[0][2] A[0][3] A[1][0]……
如果你写cout<<*(A+4)输出的就会是A[1][0]的值
所以,你同样可以像上面那样,直接定义一个int型的指针然后把数组名赋给他,这样int型的指针指向的就是二维数组的第一行第一列的元素,也就是二维数组的首地址;
热心网友
时间:2023-10-22 06:25
比如char a[10]
再定义个指针 char *p;
p=a;
即可 指向它的数组名就ok了`
---------------------------------------------
多少维都是一样的``
在内存中都是按线形排列``可以看成一维的`
直接赋数组名就可以了
热心网友
时间:2023-10-22 06:25
一维数组直接把名称作为参数,在函数中就能直接操作。