二维数组元素地址的表示(c语言的二维数组地址问题)
本文目录
- c语言的二维数组地址问题
- 二维数组a[10] [50]最后一行的首地址是什么最后一个元素的首地址是什么求大神帮助,非常感谢
- 若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为______
- c++中如何用指针表示一二三维数组元素和元素地址值
- 二维数组的地址问题
- c语言中二维数组地址疑问
- a[5][6]是个二维数组,要表示a[i][j]的地址
- 数据结构二维数组地址怎么算
c语言的二维数组地址问题
答:
二维数组
2113a首元素的地址,因此4102这是两个不同的地址。
另外,也可以1653将二维数组a+1就是
一维数组
的a的地址,由此可见属,这是两个不同的地址。
二维数组a[10] [50]最后一行的首地址是什么最后一个元素的首地址是什么求大神帮助,非常感谢
二维数组a
在数组的运用中,无论是一维还是二维,其下标都是从0起,所以行地址的范围是:a。
扩展资料:
数组的特性中除了,地址范围以0开始,还有以下特征:
1.数组是相同数据类型的元素的集合。
2.数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。
3.数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a代表数组a的第二个元素,以此类推。
若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为______
*(*(a+i)+j) 。
a是二维数组名,也是二维数组0行的首地址。a是二维数组a的0行0列元素首地址。
同理,a+1是二维数组1行的首地址,由此可得出:a+i,a也是等同的。
另外,a。
由a+j=*(a+i)+j,由于*(a+i)+j是二维数组a的i行j列元素的首地址。因此,该元素的值等于*(*(a+i)+j)。
扩展资料:
两个地方要注意:
1、在程序声明变量的时候的*,只是表明“它是一个无符号整数,这个整数指向某个内存地址,一次访问sizeof(type)长度”。这点不要和(*)操作符混淆;
在C++程序声明变量的时候的&,只是表明“它是一个引用,这个引用声明时不开辟新空间,它在内存分配表加入新的一行,该行内存地址等于和调用时传入的对应参数内存地址”。
这点不要和(*)声明符,(&)操作符混淆。
参考资料:
百度百科-数组指针
百度百科-指针
c++中如何用指针表示一二三维数组元素和元素地址值
答非所问,楼上均是 Ctrl V党。指针指向地址,内存地址,也就是说指针就是地址。
1维数组: int a,a就是首元素的地址,也就是指针。所以元素可以表示成*(a+0),*(a+1),*(a+2);
元素地址值:a,a+1,a+2.
2维数组: int a=*(*(a+i)+j)
元素地址值:*(a+0)+0……*(a+i)+j;
3维数组:int a=*(*(*(a+i)+j)+k)
元素地址值:去掉*()就是了:*(*(a+i)+j)+k
二维数组的地址问题
1、&a是表示0行首元素地址吗?
》》正确, a就是0行首地址.
&a是零行的首地址,实际上行的地址也只有一个,也无所谓0行的首地址吧?
》》&a+n是完全不同的.
+n相当于元素位移了n个位置吗,所以代表第n个元素地址吗?
》》+n取决于原始指针的类型. 如果是a+n就是移动n行了.
然后*(a+m)就表示n行第m个元素了?
》》这句没错. 任何情况下, *(p+n)都等效于p吗,a不是表示数组首个元素地址吗,怎么+n不是元素位置改变,却是位移了行?
》》这个上面说过了, 核心在于指针的类型. 二维数组int a类型, 也就是数组指针. 移动的时候是整行移动的.
还是a+n表示n行首个元素的地址?为什么
》》同上*(a+n)与a是等价的,原理是什么,*(*(a+n)+m)怎么也能表示n行m列元素呢?
》》*(a+n)与a这样的形式时, 实际上是翻译成*(a+n)进行编译的. 这种可以用一个很少见的形式来验证.你定义
int a={1,2,3,4}; 然后输出
printf("%d\n", 3);
对, 就是把数组名放进
c语言中二维数组地址疑问
从二维数组的角度来看,a代表二维数组首元素的
地址,现在的首元素不是一个整型变量,而是由4
个整型元素所组成的一维数组,因此a代表的是首
行的起始地址(即第0行的起始地址,&a),a+1代
表a代表一维数
组a的值是
&a.
0行1列元素的地址可以直接写为&a,也可以
用指针法表示。a为一维数组名,该一维数组中
序号为1的元素显然可以用a+1来表示,见图6.16。
欲得到a的值,用地址法怎么表示呢?既然
a+1) 就是
a又是和*(a+0)无条件等价
的,因此也可以用*(*(a+0)+1)表示a元素的值。
依此类推,*(a的值。
明白了吧。
a[5][6]是个二维数组,要表示a[i][j]的地址
a表示一个二维数据,a+i表示的是a的地址。
a表示二维,加*表示一维,所以要加*。
数据结构二维数组地址怎么算
数组有42个元素,总字节数是168字节。按行存A(4,5)前面有五行共30个元素,行号4前还有四个元素在它前面,共34个元素在前,地址为1000+34ⅹ4。
按列,A(3,4)前有3列共21个元素,列号4前还有3个元素在前面。共24个元素在前,地址为1000+24x4。
更多文章:
python list排序sort降序(python怎么使用sort)
2026年4月12日 04:40
screen capture(screen capture是winds自带的吗)
2026年4月12日 04:20
matlab傅里叶变换图像增强(matlab 调用图像放大命令)
2026年4月12日 03:40
java pattern(javalist中@pattern不生效)
2026年4月12日 03:00
latin1编码转换为utf8(用perl将含有波斯文的latin1的文件转成utf8的文件,求大神帮助)
2026年4月12日 02:20






