| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 480 人关注过本帖
标题:结构体指针初值问题,新手求助!
取消只看楼主 加入收藏
grclc001
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2013-4-16
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
结构体指针初值问题,新手求助!
sqstack * initstack(sqstack *a){
    a->base=(int *)malloc(STACK_INIT_SIZE*sizeof(int));
     // if(!a->base) exit(0);
      a->top=a->base;
       a->stacksize=STACK_INIT_SIZE;
       return a;
} //栈的初始化操作定义的要被调用的函数
 void main()
{   sqstack *s; int n;
     initstack(s); }编译连接后这个警告:warning C4700: local variable 's' used without having been initialized
 这里我只摘取程序的片段,如果我将上面定义成 sqstack s; 调用时用 initstack(&s)整个程序就没问题可以运行出来。
   求解释结构体指针初值的问题 怎么给它赋初值,一定要赋初值吗?先谢谢各位了。
搜索更多相关主题的帖子: 排毒 return 结构体 
2013-04-16 10:06
grclc001
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2013-4-16
收藏
得分:0 
回复 2楼 邓士林
一定义就要马上配内存空间吗?我在调用的函数里面分配内存空间不行吗?
2013-04-16 12:17
grclc001
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2013-4-16
收藏
得分:0 
回复 2楼 邓士林
#include<stdio.h>
#include<stdlib.h>
#define STACK_INIT_SIZE 100
#define STACK_INCREMENT 10
typedef struct
{   int *top;
    int *base;
    int stacksize;
}sqstack;  //栈结构体定义
  sqstack * initstack(sqstack *a){
    a->base=(int *)malloc(STACK_INIT_SIZE*sizeof(int));
     // if(!a->base) exit(0);
      a->top=a->base;
       a->stacksize=STACK_INIT_SIZE;
       return a;
} //栈的初始化操作


  sqstack *push(sqstack *a,int x){
    if(a->top-a->base==a->stacksize){
        a->base=(int *)realloc(a->base,(a->stacksize+STACK_INCREMENT)*sizeof(int));
         if(!a->base) exit(0);
          a->top=a->base+a->stacksize;
          a->stacksize+=STACK_INCREMENT;}
      a->top++; *a->top=x;
      return a;
 }//元素的入栈操作

   void pop(sqstack *a){
      int e;
       for(a->top;a->top!=a->base;a->top--)
       {   e=*a->top;
       printf("%d",*a->top);}
  } //元素的出栈操作

void main()
{   sqstack s; int n; 这里如果改成sqstack *s 下面全部用s替换程序就运行不出来
     initstack(&s);
      printf("stack initial finshed!\n");
       printf("请输入要转换成八进制的数\n");
        scanf("%d",&n);
 while(n){
         push(&s,n%8);
          n=n/8;
     }
    pop(&s);
}
2013-04-16 12:42
快速回复:结构体指针初值问题,新手求助!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025340 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved