c语言指针详解问题

问题:在看书《数据结构与算法汾析C语言描述》时,看到二叉查找树对一段代码有疑惑,

我的理解: FindMax函数中传入的T是指针类型,T=T->Right这样不是把整棵树搞坏了吗?
书中却说这代碼是安全的,因为只是对树的拷贝,我觉得不是拷贝啊,指针参数不是引用吗?

}

为什么最后输出的是5谁能详细解释一下?

回答问题最高可获5M豆哦!

数组在内存中是连续存储的也就是说假设a的首地址(a[0]的地址)是1000,那么下一个元素的地址就是1000 + sizeof(int)以此类推,到5号元素地址就是1000 + 5 × sizeof(int)了,所以可能你理所当然认为q-p应该是5 × sizeof(int) = 20

但是,事实上不是这样的因为虽说指针本质也是整数,也能参與运算但毕竟还是和普通数字不一样的,不同之处就体现在这里指针的减法求得的不是地址的差值,而是以指针类型大小为元素的元素个数所以是5

每日可获得50M豆,免费兑换开发板

扫一扫在手机上查看!

C语言是一门通用的,模块化程序化的编程语言,被广泛应用于操作系统和应用软件的开发

android开发是指android平台上应用的制作,它包括操作系统、用户界面和应用程序

13 回答 来自 嵌入式

11 回答 来自 嵌入式

10 回答 來自 嵌入式

}

我要回帖

更多关于 c语言指针详解 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信