|
|
1
4
Zan很接近,但他的问题是他的“swap”函数可以接受任何指向字符的指针。如果误用,可能会导致问题。以下是一个更安全的版本:
海报上也有一个误解:“nm”是一个二维字符数组。没有指针。nm[0]、nm[2]等也不是指针——它们仍然是(一维)数组。一维数组可以隐式转换为指针的事实在许多C和C++程序员中造成了这种混淆。 为了交换二维数组中的数据,您必须交换大小为MAX2的内存块——正如Zan和我写的“交换”函数所示。 |
|
|
2
3
您不能通过重新分配指针来交换这些指针,因为这些指针指向二维字符数组。
nm[a]和nm[b]非常强
想想这场浩劫!所以你不能这么做。 :-) 要交换这些指针指向的内容,您需要交换这些数组位置中的值。
|
|
|
3
3
你的
如果你改变
向
并修复中的小错误
|
|
|
4
1
真正的问题是,如果你使用的是c++,那么你应该使用std::string的std::vector:
注:未测试。 |
|
|
5
0
|
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |
|
|
tTt · 使用堆栈中的值重新分配指针 1 年前 |
|
|
manuel · 现代C中空指针的替代方案++ 1 年前 |