字符串问题
来源:7-1 指针基础【摸清本质带你爱上指针】

十三山入秋
2021-01-26
老师您好,我又来了,
能问你一个我书上看到的问题吗,选自《大话数据结构》5.7.3,如上图,
他那个next数组,应该是我调用的方式不对吧,感觉怪怪的, get_next(string, &next);方法之前,string还有值,调完以后,就变成0x100000000了,方法里面貌似也没有去修改string指针那边的内存,
写回答
1回答
-
main 函数的代码也是书上的吗?不会吧。。。int *next 需要的是一个数组,你给人家传了一个整型变量的地址,当成数组,可以简单认为是传了一个大小为 1 的数组,必然会导致数组越界。
一般来说,stack 的内存应该是倒着分配的,next[1] 就是 next 变量所在内存之后的内存,正好是 char * 这个字符串的地址。。。。所以字符串就被非法修改了。。。你试试看是不是这样。。
162021-01-27
相似问题