如何在c struct中打印变量

时间:2017-04-17 14:32:27

标签: c runtime

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

sum.h
#ifndef SUM_H_
#define SUM_H_

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

void addition();
void initialize();

#endif

sumtest.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 ;

1 个答案:

答案 0 :(得分:3)

col1, col2, col3, col4
A      0.8   1.0   1.2
B      0.4   0.5    0.6
C       1.0   1.1   1.2

是一个指向无处的指针,直到你将它设置为指向某个东西。 它可以指向分配的内存:

Sum *sum;

这可能是你想要做的事情。 但它也可能指向局部变量,

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

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