c - 使用结构体和指针排序

标签 c sorting pointers struct

我对结构和指针很陌生。尝试学习它们。尝试了一个带有结构和指针的简单排序函数,但遇到了一些问题。有人可以帮助我理解它们吗?

#include<stdio.h>
#include <stdlib.h>

int*
    sorting (int* arg)
    {

    int temp=0,j,i;
        for(i=1;i<5;i++)
        {
            for(j=0;j<5-i;j++)
            {
                if(arg[j] >arg[j+1])
                {
                    temp=arg[j];
                    arg[j]=arg[j+1];
                    arg[j+1]=temp;
                }
            }
        }
    return arg;
    }

int main(){

    int i;
    int n =5;
    int *result_;

    int *sorting_1_arg = malloc(n * sizeof *sorting_1_arg);

    printf("Sort\n "); 
    printf("Enter 5 elements to sort: ");       

    for (i =0; i <n; i++){
    scanf("%d", &sorting_1_arg[i]);
    }

    result_4 = sorting(sorting_1_arg);
    printf ("Sorted List recieved from Server ");

    for (i =0; i <n; i++){
    printf("%d",sorting_1_arg[i]);
    }
  return 0;
   }

当我运行此代码时:

In function 'int main()':
[Error] invalid conversion from 'void*' to 'int*' [-fpermissive]

最佳答案

这些程序对我来说似乎不错。除了有一个未声明的变量 第 39 行:

result_4 = sorting(sorting_1_arg);

更正为

result_ = sorting(sorting_1_arg);

程序运行良好。只需为新行添加“\n”即可使其看起来更好。

网站位于here为您提供了对结构和指针的良好介绍。

关于c - 使用结构体和指针排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26935357/

相关文章:

c - 使用远指针在 C 中设计键盘记录器

C 编程、函数指针

algorithm - 如何在原位重新排列一维矩阵阵列中的元素?

json - JQ排序键任意顺序

C++ 从指针 vector 中删除

c - AH=2的BIOS INT 13H每次只能读取72个扇区。为什么?

java - 这个算法的大 O 复杂度是多少?

c - 数组左移 (C)

c - 使用 C 中的 std::atomic

c - 指针和二维数组