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

C语言的纳闷

2012-07-29 
C语言的困惑最近在写C语言的时候遇到点问题,各位大神给看看~问题描述如下:1、 我们在定义一个函数时使用&和

C语言的困惑
最近在写C语言的时候遇到点问题,各位大神给看看~
问题描述如下:

  1、 我们在定义一个函数时使用&和*有什么不同?在调用时又有什么区别?具体如:我们定义一个函数,void huffmanTree(huffman *HT);

void huffmanTree(huffman &HT);其中huffman是我们自己通过typedef定义的一个结构体类型。

  2、typedef struct huff{

...}huffman1;

  typedef struct huff{

...}*huffman2;

这两个定义的huffman类型在使用时的区别,还有就是 huffman1 *HT与huffman2 HT有区别吗?有什么区别?

3、我的程序出现了“this program cannot be run in dos mode ” ,有那些原因会出现这种情况啊?


[解决办法]
*是指针传值,&是引用,顺便提示lz,引用是C++里面的东西。
[解决办法]
难怪不认识&,原来是C++里面的内容
[解决办法]
*在C里面是解引用,&在C里面是取地址。但是在C++里,如果类型后面使用& 就代表了引用。看你的代码,那个是引用类型。
两个huffman好像没有什么区别,只不过是你使用typedef后使得huffman1和huffman2表示的意义不同了。huffman1就表示结构体,而huffman2表示的是结构体的指针。
3 你的程序是不是使用了16位的??
[解决办法]
严的数据结构C描述版的里面用的不是纯C语言

引用本是C++的东西,用引用来描述确实比较方便 

就像huffman1 *HT与huffman2 HT,应该也没什么区别
也就是为了方便

我也在看这本书严的书,不知道lz是不是在看
[解决办法]
2、typedef struct huff{

...}huffman1;

typedef struct huff{

...}*huffman2;


与下面对比啊
typedef struct node{
int data;
struct node *next;
}StackNode,*LinkStack;

int Empty_ListStack(LinkStack top)//看可以创建结构体指针变量top,指针变量可以用top->的形式进行引用结构体成员,如top->next;
{
if(top==NULL)
 return 1;
else
 return 0;
}

[解决办法]
1.C中貌似不能这么声明吧?找本书看看语法?这是C++中的引用传参,C中用指针来实现。
2.有区别,第一个是 struct huff ,第二个是 struct huff *;类型不一样。
3.这个错误我没见过。你是什么机子啊?

——————————————
个人愚见,勿喷!

热点排行