社区
C++ 语言
帖子详情
关于#define的小问题
gaoxingbugaoxing
2005-03-10 08:26:09
#define LIST_ENTRY(ptr, type, member) \
((type *) ((char *) (ptr) - (unsigned long) (&((type *) 0)->member)))
~~~~
什么意思?
程序中的使用:
p = LIST_ENTRY(pos, UdpSession, listItem);
我想知道define中的0是什么意思,大家帮我看看,谢谢了
...全文
50
1
打赏
收藏
关于#define的小问题
#define LIST_ENTRY(ptr, type, member) \ ((type *) ((char *) (ptr) - (unsigned long) (&((type *) 0)->member))) ~~~~ 什么意思? 程序中的使用: p = LIST_ENTRY(pos, UdpSession, listItem); 我想知道define中的0是什么意思,大家帮我看看,谢谢了
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pcboyxhy
2005-03-10
打赏
举报
回复
(unsigned long) (&((type *) 0)->member)
取得 type类型中的成员member在内存中相当于type的位移量。
struct foo
{
int i;
char f;
};
(unsigned long) (&((foo *) 0)->f)
取得 f在结构中的内存位移量(f相对于结构起始地址的距离)
# #
define
以及 # ##解释
文章目录#
define
定义标示符#
define
的语法#
define
定义宏宏的声明方式# 和 ##的作用\#是将字符拼接在字符串中##是将两边的符号连接起来,成为一个符号 #
define
定义标示符 #
define
定义标示符就是将一个名称起一个别名,在程序运行之前使用别名将原来的名字替换掉,从而达到简化代码书写的作用 #
define
的语法
define
name stuff name是别名,stuff是原本的名称 #
define
NUM 120 #
define
STR "abcdef" int main(
C语言的 #
define
目录#
define
1 #
define
标识符## 和#的区别 #
define
1 #
define
标识符 📢基本含义 标识符 我们在c语言中 很多时候 会用到宏定义 也就是 #deifne 标识符1 标识符2 这样的基本框架形成了一个宏定义 标识符可以是数字 字符 字母。 会方便我在报错的时候 检查就省很多功夫 📢📣 语法 #
define
AA 123 #
define
DD 111 基本的框架 前面的代替 后面的 就比如上面的例子 1 AA 代替了 BB 2 DD代替了 111 也就是在
C语言#
define
预处理详解
目录 一、使用#
define
定义标识符常量 语法1: 常量与常变量的不同: 注意: 语法2: 二、#
define
来定义带有参数的宏 三、C语言给我们定义好的一些标识符常量 一、使用#
define
定义标识符常量 语法1: #
define
MAX 100 注意使用#
define
末尾不需要带; MAX是一个常量,是使用#
define
定义的一个标识符常量!!! 我为什么要在这里强调这是一个常量呢?因为它和普通常量一样不可被修改 大家可能会疑惑使用const修饰的变量不也是...
C语言#
define
的用法整理
#
define
简单定义 #
define
指令被称为宏定义,在C程序编译的第一个步骤预处理阶段被编译,其作用就是替换任意文本。 它的最简单的用法,用来定义数值宏常量 #
define
PI 3.14 在这条指令之后出现的任何字符 PI 都会被预处理器替换为 3.14。 比如说下面这条指令 C = 2 * PI * 10; 编译器在处理这条代码之前,会先把 PI 替换成 3.14 然后在...
#
define
的用法总结
先来讲一讲#
define
的优点与缺点:[缺点] 宏定义有一些缺点: (1) 无法对宏定义中的变量进行类型检查 此缺点,是相对于const变量来说的 [
define
与const的区别的简单总结]
define
定义的变量,是Compile-Time时期的变量,系统在编译时候,就将其全部替换,而不会对其变量进行类型等属性检查,相对不是很安全,可能存在潜在的
问题
,而没有发现.
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章