回 帖 发 新 帖 刷新版面

主题:void init(List &a,List b)的参数问题!

小弟最近学习c的数据结构,遇到了一点问题,想请大哥们帮忙。谢谢
示例:
typedef struct 
{
    ElemType *elem;
    int      length;
    int      listsize;
}SqList;

int InitList_Sq(SqList &L)
{
    L.elem = (ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));
    if(!L.elem)
        exit(OVERFLOW);
    L.length = 0;
    L.listsize = LIST_INIT_SIZE;    
    return OK;
}
在严老师书中的函数基本上都有这样一个函数参数:SqList &a,可是我用tc编译的时候总是报告:说明语法错误。
我有几个疑问:
   1。 SqList &a,这个参数可以传吗?
   2。 如果可以,函数中对这个参数是以指针类型操作还是以结构类型操作?因为&是取地址,我觉得应该是以指针来操作,但是书中好象还是以结构来操作,为什么?
   3。是不是tc的问题?

回复列表 (共4个回复)

沙发


 1。 SqList &a,这个参数可以传吗?
   2。 如果可以,函数中对这个参数是以指针类型操作还是以结构类型操作?因为&是取地址,我觉得应该是以指针来操作,但是书中好象还是以结构来操作,为什么?
   3。是不是tc的问题?

1:换个编辑器就可以
&是c++里的引用
[url=http://www.programfan.com/club/showbbs.asp?id=182062]http://www.programfan.com/club/showbbs.asp?id=182062[/url]
看这里
3:是tc的问题,建议换个编辑器
[url=http://www.programfan.com/showdown.asp?id=211]http://www.programfan.com/showdown.asp?id=211[/url]

板凳

个人觉得老严的书有点弱智,C语言你根本就没有引用这种机制,他却说什么不用太在乎细节就用就种不是C像C的语言来实现什么什么的,细节不重要吗?细节不重要还什么重要?所以我总是想用C语言写的程序中有&是"杂种"语言.它根本就不存在.

3 楼

老严的书是经典。

4 楼

那本书在最开始的序里有说明的,全书在算法描述上用的并不是C语言,其实数据结构和语言无关,像国外的教材都是用的形式化语言,伪代码。

我来回复

您尚未登录,请登录后再回复。点此登录或注册