我是该论坛的新手,所以..让我们解释一下我需要做什么。 首先,这是一项家庭作业,为此,我必须创建一个时间表。但这不是一个普通的计划,也不是一个简单的计划,我只需要使用一个void指针变量来完成它,以存储所有内存。
因此,我需要的所有内容,我都需要考虑,我只能将变量保存在void指针内,在此之后,我需要使用指针算法来访问void指针内的所有内容。而且我只能创建指针变量,而这个只能存储内存地址。
因此,我决定只放入两个变量,即名称和数字。只是为了使此操作更容易。并用“ pbuffer”命名我的空指针。 之后,我创建两个结构,一个结构保存所有变量,另一个结构保存名称和数字。
好了,我完成了作业,但是现在,我需要实现它,放入排序算法,例如Bubble排序,Selection排序,Merge排序,Quick排序和插入排序。
在这一点上,我不知道我需要做什么! 例如:如何按字母顺序对名称进行排序?
答案 0 :(得分:0)
以字母顺序(或字典顺序),您需要使用 strcmp 字符串函数。
回到主要主题:使用void指针的想法是在C语言中创建通用代码。
假设您有一个类型为 void *的数组,则可以通过简单的类型转换为它分配值。但是,如果要分配 int 值,则需要为其分配 int 指针:
int x = 3;
void *a = (int*) &x;
在String中执行此操作更加容易,因为它的开头是指向 char 的指针:
char s[] = "Hello world";
void *a = (char*) s;
当您执行 strcmp(s1,s2)时,您会得到回报:
希望可以帮助您入门!