请问C语言中“0x0f”是什么意思啊? 它是干嘛使的啊?

wowadown 2007-11-23 04:42:18
看到一个程序里有这么一句:
char *pattern[8] = {0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x0f , 0x0f};
以前学C语言的时候,没有遇到过,不知道嘛意思,劳烦大家给解释一下啊!
...全文
10932 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
_石头_ 2007-11-23
  • 打赏
  • 举报
回复
呵呵! 才一两天没来,这市场竞争咋就变得这么激烈 咧?
xugang_2001 2007-11-23
  • 打赏
  • 举报
回复
哈哈 石头兄  

大家一起抢分了
_石头_ 2007-11-23
  • 打赏
  • 举报
回复
倒! 写帖子的时候一个都没有! 嗖一下彪出这么多! -----晕倒!
_石头_ 2007-11-23
  • 打赏
  • 举报
回复 1
char *pattern[8] -----指针数组,共定义了8个指针pattern[0]~~pattern[7];
在定义指针数组时同时进行了初始化赋值。
char *pattern[8] ={0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f};
就是让指针数组的每个元素(pattern[0]~~pattern[7])都指向0x0f这个地址,即

char *pattern[8]; //定义一个指针数组
//下面是分别初始化
pattern[0]=(char *)0x0f;
pattern[1]=(char *)0x0f;
.
.
.

pattern[7]=(char *)0x0f;

Treazy 2007-11-23
  • 打赏
  • 举报
回复
0x0f就是一个16进制数咯
在这里当作一个char*来解释了!
pptor 2007-11-23
  • 打赏
  • 举报
回复 1
0x0f 是16进制常量 ,
在这里 用来表示已个地址
xugang_2001 2007-11-23
  • 打赏
  • 举报
回复
0x的意思就是16进制数(别告诉我这都不知道)

0f=15,所以0x0f就是表示一个16进制的数字,值15

char *pattern[8] 表示的是一个数组指针,就是一个8个大小的数组,成员都是char*指针

所以总的来说就是给一个char* 数组赋值,初始化为0x0f
thecorr 2007-11-23
  • 打赏
  • 举报
回复
顾名思义,char* 是一个指针类型。0x0f是一个地址。
而0x是16位形式的数字,0x0f转换到二进制,就是00001111。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧