首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

指向结构体变量的指针怎么用,使用时总出现segmentation fault的异常,请指导

2012-03-11 
指向结构体变量的指针如何用,使用时总出现segmentation fault的错误,请指导啊程序如下,在注释处总出现错误

指向结构体变量的指针如何用,使用时总出现segmentation fault的错误,请指导啊
程序如下,在注释处总出现错误segmentation   fault,为何?
#include   <stdio.h>
#include   <stdlib.h>
#include   <string.h>
typedef   struct   {
      char                             f_name[256];  
      FILE                           *bmp_file;
      FILEHDR                       fhdr;
      INFOHDR                       ihdr;
      RGB                             *values;          
      unsigned   int             Ymin,   Ymax;
      unsigned   int             padding;
}   BMP;
void   bmp_open(BMP   *bitmap)
{
if((bitmap-> bmp_file   =   fopen(bitmap-> f_name, "rb+ "))   ==   NULL){
printf( "cannot   open   file\n ");
exit(0);
  }
                return;
}
int   main(int   argc,   char   *argv[])
{
BMP   *bitmap;

                strcpy(bitmap-> f_name,argv[1]);//segmentation   fault                                                                                                        

bmp_open(bitmap);

return   0;
}



[解决办法]
你没有为这个指针分配内存。
[解决办法]
bitmap
这是一个指针,要先分配内存。
BMP *bitmap;

bitmap = (BMP*)malloc(sizeof(BMP));
[解决办法]
BMP *bitmap = new BMP;

热点排行