gpt4 book ai didi

c - 如何在C结构中打印变量

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

请发现很难在我的结构声明中打印变量 b

sum.h
#ifndef SUM_H_
#define SUM_H_

typedef struct sumTAG{
int a;
int b;
}Sum;

void addition();
void initialize();

#endif

求和测试.c

#include "../headers/sum.h"
#include <stdio.h>

void initialize(Sum *S){
S->a = 10;
S->b = 10;
}

void addition(Sum* s){

printf("the value of a is : ", s->a);

}

int main(){

Sum *sum;
initialize(sum);
addition(sum);

return 0;
}

我不断收到返回值为 225 的运行时错误;

最佳答案

Sum *sum;

是指向任何地方的指针,直到您将其设置为指向某物。它可以指向分配的内存:

Sum *sum = malloc(sizeof(Sum));

这可能是您想要在您的案例中执行的操作。但它也可以指向一个局部变量,

Sum sum;
Sum *pointerToSum = &sum;
initialize(pointerToSum);
addition(pointerToSum);

您得到的错误可能是由于试图取消引用空指针。

关于c - 如何在C结构中打印变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43453492/

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