| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 494 人关注过本帖
标题:大家帮我看看一个溢出问题,谢谢大虾们了!
只看楼主 加入收藏
一名菜鸟
Rank: 1
等 级:新手上路
帖 子:4
专家分:4
注 册:2011-10-11
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:2 
大家帮我看看一个溢出问题,谢谢大虾们了!
#include<stdio.h>
#include<malloc.h>
#include<process.h>
//所要执行的操作

//实例化一个线性表InitList(&L)
//销毁线性表DestoryList(&L)
//ClearList(&L)将线性表设置为空表
// ListEmpty(&L)判断是否是空表 若是空表则返回True否则是false
//ListLength()返回L中的数据元素的个数
//GetElement(L,i,&e) 返回链表L中第i个元素的值并用e 返回
//LocateElement(L,e,compare())线性表已存在 compare()是数据的判定函数
//PriorElem(L,cur_e,&pre_e)cur_e是L中的数据元素则用pre_e返回他的前驱
//NextElem(L,cur_e,&next_e)cur_e是L中的数据元素则用next_e返回他的后继
//ListInser(&L,i,e)在线性表L中第i个元素之前插入新的元素、
 //ListDelte(&L,i,&e)在线性表L中删除第i个元素,并将该元素用e返回
 //Listtrave(L) 遍历线性表L中的每个元素
 
 /*--------------------------------定义部分-----------------------*/
         
         
               /*-----*方法定义部分---------*/
               /*弄懂内存 弄懂一切*/
            
 struct SqlList
{
  int data;
  int *pro;
  int inintMax;
};
 //初始化
  int InitSqlist( struct SqlList *L,int m,int n,int k)
    {
       L->pro=(int *)malloc(3*sizeof(int));
         if(L->pro=NULL)
            {
           printf("失败\n");
          }
      else{
      L->pro[0]=m;
      L->pro[1]=n;
      L->pro[2]=k;
      printf("%d\n,%d\n,%d\n",L->pro[0],L->pro[1],L->pro[2]);
      printf("ERROR");
          }      
     }
     //销毁链表
     int DestoryList(struct    SqlList *L)
     {
         free(L->pro);//free的是什么 也就是说释放的是什么?
         L->inintMax=0;//在释放之后为什么要致inintMax=0;
         return 1;
     }
     // 清除链表 他和破坏链表于什么关系
     int ClearList(SqlList *L)
     {   
         L->data=0;//此时L.length=0代表什么含义呢?
         return 1;
         
         }
      //顺序表已经存在 若为空返回0;否则返回1;
      int ListEmpty( struct SqlList L)
      {
        if(L.inintMax==0)//L.length 是自带方法或者属性吗?  
        return 0;
        return 1;
         
          }
      //返回列表中元素的个数
      int ListLength(struct SqlList L)
      {
       int count;//计数器
       if(L.pro!=NULL)
       count++;
       return count;   
       //此操作和L.length是否是一样的!  
         
      }
      
      //返回链表元素的元素
      int ReturnElement( struct SqlList L,int i,int *p)
      {    int m;
           if(i<0||i>L.inintMax)//若是出现了i正好等于Length的时候该怎么办呢??
           exit(1);
           else{
               if(m<i)
                 {
                   L.pro++;
                   m++;     
                 }   
               }
      }
      //执行插入
      int Insert(struct SqlList*L,int i,int *e)//若是插入的不是int 类型的时候是否有好的方法进行改进
      {
         if(i<0||i>L->inintMax)
         exit(1);
         else
         {
         
         }
         
      }
int main()
{   struct SqlList *L;
   struct  SqlList la;
    L=&la;
    InitSqlist(L,2,4,6);
    getchar();
   
}
搜索更多相关主题的帖子: 线性表 compare include false 
2011-11-13 15:21
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:7 
L->pro=(int *)malloc(3*sizeof(int));

      L->pro[0]=m;
      L->pro[1]=n;
      L->pro[2]=k;
链表你没好好看,

L->pro=(struct SqlList *)malloc(sizeof(struct SqlList));
pro是个指针,可以这样      L->pro[0]=m;      L->pro[1]=n;      L->pro[2]=k;赋值吗?赋值也只能赋值一个地址。



2011-11-13 20:38
一名菜鸟
Rank: 1
等 级:新手上路
帖 子:4
专家分:4
注 册:2011-10-11
收藏
得分:0 
我做过测试了,*(p+1)=p[1]的 ,再说了 我的pro 是指向int的 怎么可能这样呢L->pro=(struct SqlList*)malloc(3*sizeof(struct SqlList)),它的返回值是struct SqlList类型的怎么能够付给int类型pro呢?
2011-11-16 13:36
快速回复:大家帮我看看一个溢出问题,谢谢大虾们了!
数据加载中...
 
   



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

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