1楼:匿名用户
宏定义 简单的字符替换 在 编译前做的替换#define three 3
int a = three;
在送编译时 替换为 int a = 3;
#define power(x) x * xint a = power(10)
在送编译时 替换为 10 * 10
注意 若为 power(5 + 3) 则替换为 5 + 3 * 5 + 3
所以宏只是简单的文本替换
*linklist 在typedef 的作用下 是lnode 的指针类型
也就是说申明lnode 指针的时候你可以用linklist p = 0;//等价于 lnode* p = 0;
new 动态分配内存空间
2楼:匿名用户
正常情况下所有的头文件都是
#ifndef ....
#define
//头文件中的内容
#endif
上面的结构是为了不使头文件出现重复包含.
另一种 :
如 #define maxnum 500
#define abs(x) ((x)>0 ? (x) : -(x)是宏.
你说的linklist是lnode的指针,而&l是linklist的引用,目的是把程序中分配的lnode返回。
new就是c中的malloc,动态分配一个lnode
3楼:匿名用户
c++中一般不用#define来定义常量或者函数
我觉得唯一用到的地方是在防止头文件重复包含的时候#ifndef...#define...#endif
你下面问的*linklist是一个lnode结构的别名,同样可以用他来创建一个lnode结构对象.
c++里最好把结构,类什么的都看成对象.
linklist &l,这里就不难理解了吧,linklist 是对象类型(一个lnode的指针),&l是参数名(等于 &(*lnode) ).
l = new lnode;
new是c++的内建方法,用来开辟内存空间.这里就是为l分配一个lnode结构那么大的内存空间.
4楼:可以叫我表哥
#define命令是c语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。
该命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义。
(1) 简单的宏定义:
#define 《宏名》 《字符串》
例: #define pi 3.1415926(2) 带参数的宏定义
#define 《宏名》 ( 《参数表》) 《宏体》
例: #define a(x) x
5楼:匿名用户
第一个问题:
#define是定义
宏,楼上说避免使用是什么意思,你如果说goto避免使用我很赞同,但是定义宏是个很正常的使用啊。
第2个问题:
*linklist 指针类型,在这里linklist就想int已经成为一个类型了,&l就是一种引用传参,保证传过去的是地址。
new就是开辟内存空间,比如 linklist l 只是定义了一个指针型的变量l,但是指针如果要使用必须要开辟内存空间,所以还要加上 l = new lnode();
还有不明白的m我。
6楼:匿名用户
1、*linklist是定义一个lnode的指针变量,这样定义是没有实体的,需要new的
2、linklist &l这个参数是传址参数,实际上和linklist *l这样的指针参数的意义是一样的,这样写的话调用的时候可以方便一点
3、new的意思是声明一个新实例,然后将实例的地址赋值给指针,如果你仅仅只是声明一个指针,他是没有实体的,new的话可以给他一个新的实体,这个建议参考“面向对象编程”方面的章节,在使用完毕后还需要delete掉指针以释放实体
4、#define是c/c++特有的宏定义,在使用的时候会有很多方便的地方,此外系统也会定义一些参数,如win32、_cplusplus等,再配合#ifdef等宏可以方便程序员编写和调试程序,有很大的好处
ps:我总觉得你这段程序有问题,initlist_l的参数是linklist,而new的是lnode,还有l->next应该改为l.next,只有指针参数才需要用->
7楼:匿名用户
*linklist 应是用于定义一个指针类型的变量吧,linklist &l对于调用initlist_l函数时,使用引用的方式传递参数,在initlist_l内对l的修改都会影响到实参,linklist不是一个指针,是一个数据类型.
new 是内在分配运算符,是一个操作符吧.
以上是我的理解,如有不对,谢谢指正,^&^
8楼:匿名用户
c++里面#define应该尽量避免使用
c语言中的define是什么意思,有什么作用,怎样用
1楼 匿名用户 宏定义,用于定义全局变量 如 define num 1 那么在你的程序里mun就等于1 2楼 匿名用户 c语言中, define 是一种编译预处理指令,称为宏定义指令。它后面至少空一个格,再写符号常量的名称 它属于标识符 ,再空至少一个格,写符号常量的值。进行了宏定义以后,其默认作用...
C的类库文件怎么用,如何向c#类库文件中添加类文件
1楼 匿名用户 先在项目 添加应用 浏览,找到freetextbox dll,并添加 在工具箱里右键 选项卡,找到freetextbox dll 添加控件。 你的工具箱上面就会出现freetextbox控件了,你就像使用文本框一样,一拖就可以了。 如何向c 类库文件中添加类文件 2楼 匿名用户 如图...
如何用c制作控件,控件数组,用C#如何实现把已有的控件放入控件数组中?
1楼 匿名用户 容器是自己先放上去 panel 什么的 控件数组要自己定义 比如10 个label label mylabel new label 10 mylabel 0 label1 mylabel 1 label2 mylabel 9 label10 这是实例化 然后就可以用for循环控制了 ...