- 博客(7)
- 收藏
- 关注
原创 Getmemory的几个经典的关于内存的笔试题
经过了static修饰之后,处于栈区的变量延长了生命周期,可以在群文件范围内进行访问;所以在Getmemory函数结束的时候p的内存被自动释放,无法进行strcpy操作;过早的释放了str的内存,在注释那行之后str已经没有地址了;p是一个处于栈区的变量,生命周期只从定义到区间的‘}’结束;释放的空间地址和申请的空间地址必须相同,不能随意偏移;偏移了从堆区申请的空间地址;同TEST 1,栈区的空间自动释放,无法输出。输出"hello world";输出"hello world";是合法的,能够正常输出;
2023-07-17 21:47:07
75
1
原创 c语言二维数组错误引用形式
B.*(ps+3)是对数组首元素地址进行+3操作后,再进行 * 运算取得元素。但是s[ ][ ]是二维数组,只进行一次*运算的话得到的是一维数组的值,要想把地址转变为s中的元素的话应该进行二次取 *。问题和B选项相类似,只进行一次*运算的话得到的是一维数组的值,二维数组的地址。A.ps+1中ps是数组首元素地址,进行+1运算操作后地址偏移,但依然是地址,而不是数组元素。二维数组可以看成是每个元素都是一个数组;则对s数组元素的正确引用形式是();
2023-07-17 16:32:06
355
2
原创 字符串空格替换,不能申请新的缓冲区
通过空格数量(count)得到新字符串长度(newlength = length + 6*count);查出原字符串的长度(length),再遍历字符串得到空格数量(count);再从新字符串的末尾开始,逐个字符替换。
2023-07-16 19:53:11
71
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人