每天3道面试 12/18

2016-12-18 20:30 阅读 253 次 评论 0 条

什么是指针?

指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区。

下列程序的输出结果为多少,简要分析一下?

答案第一个输出为Y,第二个非法分析ptr 的类型是 char **,指向的类型是一个 char *类型,该指向的地址就是p的地址(&p),当执行ptr++;时,会使指针加一个sizeof(char*),即&p+4;那*(&p+4)指向哪呢,所以最后的输出会是一个随机的值,或许是一个非法操作.

指针之间如何进行加减?

两个指针不能进行加法运算,这是非法操作,因为进行加法后,得到的结果指向一个不知所向的地方,而且毫无意义。两个指针可以进行减法操作,但必须类型相同,一般用在数组方面。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:每天3道面试 12/18 | 术与道的分享
分类:剑指Offer 标签:,
1024do.com导航_术与道导航平台

发表评论


表情