gpt4 book ai didi

c - 如何使用参数 (void (*store) (int*,int)) 调用此函数?

转载 作者:行者123 更新时间:2023-11-30 19:29:55 27 4
gpt4 key购买 nike

我是 c 语言的新手,不太熟悉指针或如何设置此方法在 main 中使用这些参数进行调用。我对指针雪有一点了解,但我仍然对方法参数中的指针雪感到困惑。我是否传入一个指针和一个 int ?我需要传递任何东西吗?我是否需要 main 方法,或者我可以仅使用 is_little_endian 作为我的主要方法来运行程序吗?

#include "test_endian.h"
#include <stdio.h>

int is_little_endian(void (*store)(int*,int)) {
int x;

unsigned char *byte_ptr = (unsigned char*)(&x);

store(&x, 1);

printf("the address for x is %u\n", *byte_ptr);

return 0;
}


int main() {

}

最佳答案

函数is_little_endian仅接受一个参数,该参数是neseccary。

此参数是一个指向函数的指针,该函数接受指向 int 的指针,然后是 int 且不返回任何内容 (void)。您只需要向那里传递一个指向某个函数的指针,如下所示:

void example(int * a, int b) { }

int main() {
is_little_endian(example);
}

或者您想要的任何其他功能。您可以在那里阅读有关函数指针的更多信息: How do function pointers in C work?

是的,你需要 main 方法来运行程序,就像你的 body 需要你的心脏一样。 ;)

关于c - 如何使用参数 (void (*store) (int*,int)) 调用此函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52133103/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com