有关宏的一个简单的问题
来源:互联网 发布:js 文本框中数值 合计 编辑:程序博客网 时间:2024/06/15 22:30
不太了解宏,写了一个宏的简单程序
#include <stdio.h>
//#include <iostream.h>
#define pitch no_a.name
struct node
{
int a;
char *name;
};
main()
{
struct node no_a;
no_a.a=9;
no_a.name="ni rang wo zm zuo a /n";
printf("%s",pitch);
//cout << pitch;
}
其实宏就是一个简单的展开,在c++中最好还是使用const和inline函数来代替宏变量和宏函数,因为宏会产生边际效应。
在编译此程序的过程中还要注意两点
(1)编译器并不区分宏变量和宏函数,因此定义宏变量和宏函数的时候不能重名,如
#define Max 100
#define Max(a,b) ((a>b)?a:b)
这样的话编译器就会提示重复定义
(2)在C 语言中,声明结构体变量的时候,应加上关键字struct 如:struct node no;
如果不带,编译器就会提示node没有声明
但是c++中则无此限制。
- 有关宏的一个简单的问题
- 有关宏的一个问题
- 一个有关AWT 的问题
- 一个有关HTML的问题
- 有关日期的一个问题
- 一个有关向上转型的简单列子
- css的有关优先级的一个问题
- 简单的有关问题啊 急用
- 一个有关皇后问题的程序(C#)
- 有关JAVA Generic的一个问题
- 一个有关typeglob问题的解答
- 有关回文数的一个问题
- 一个有关JS参数的问题
- 有关终止线程的一个问题
- VC有关OpenGL的一个问题
- 有关scrollViewDidEndDecelerating的一个小问题
- 有关free()函数的一个问题
- 有关scrollViewDidEndDecelerating的一个小问题
- 象棋的升级玩法之智勇双全
- 我的2008
- 火狐下,表单无法刷新重置问题的分析与解决
- SVN安装指南!
- 裸奔编程之使用Servlet实现REST风格 开篇
- 有关宏的一个简单的问题
- C# 2.0 引入的匿名方法
- 我发现的第一个Microsoft的错别字
- VC编程常见问题集锦
- get和post的区别
- c# webeditor的数据库应用总结 IDENTITY_INSERT
- Struts 1 学习笔记-5-2(编写一个简单的支持I18N的登录系统)
- Trac安装指南!
- 有容乃大,无欲则刚