gpt4 book ai didi

c - C 中的函数指针与结构不活动

转载 作者:太空宇宙 更新时间:2023-11-04 08:18:49 25 4
gpt4 key购买 nike

我有以下代码:

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

struct Book {
char title[50];
char author[50];
char subject[100];
int numPages;
int numBooks;

int (*p) (int *, int *);
};

int sum (int *a, int *b) {
return *a + *b;
}

int main() {
struct Book var;
var.numPages = 7;
var.numBooks = 9;
int allPages = (*var.p) (&var.numPages, &var.numBooks);

printf("%d\n", allPages);
return (EXIT_SUCCESS);
}

我尝试在结构中使用函数,但我的程序没有结果,虽然我使用了 -Wall、-Wextra,但没有警告。我是新手。希望大家帮忙。

最佳答案

var.p 未初始化(这意味着它几乎肯定没有引用有效函数),从而产生未定义的行为。使用 var.p = sum; 在函数调用之前对其进行初始化。

关于c - C 中的函数指针与结构不活动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34228747/

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