一个数组分配大小的问题
来源:互联网 发布:style js order-color 编辑:程序博客网 时间:2024/06/06 00:11
这是写一个程序从文件中读取IP,MAC,client-hostname等信息时遇到的一个问题。
DHCP服务器每分配一个地址,都有一条记录放在dhcpd.leases文件中,记录的格式类似为:
lease 192.168.1.3 { starts 3 2012/07/04 07:51:55; ends 3 2012/07/04 09:51:55; cltt 3 2012/07/04 07:51:55; binding state active; next binding state free; hardware ethernet 00:0c:29:c7:4e:30; uid "\001\220+4!40"; client-hostname "PC-003";}
在程序中,定义了如下字符数组存放读取的值
char ip[16];char mac[18];char client_hostname[128];代码用gcc编译后运行。读取后应该显示:
ip: 192.168.1.3mac: 00:0c:29:c7:4e:30client-hostname: PC-003但实际显示的是:
ip: mac: 00:0c:29:c7:4e:30client-hostname: PC-003ip的值没有显示出来,用GDB跟踪调试,发现是在给mac赋值的语句执行后,ip的前三个字节被修改了,ip[0]被修改为“\0”。
但是如果将ip的数组空间大小改为20,这种问题就不会出现,ip的值能正常显示出来;同样的程序,ip数组空间大小定义为16,在Windows下用Dev-c++编译也能正常显示。。
我不明白为什么加大数组空间后就没问题了,这是linux下gcc的bug还是什么问题?
- 一个数组分配大小的问题
- 数组大小分配问题及相关问题
- 一个有关计算结构体数组大小的问题
- 一个小的分配问题
- 求数组大小的问题
- 数组的静态分配和动态分配 内存分配问题
- C#中数组的空间分配问题
- 偏移了一个数组的大小
- 分配task_struct时分配页面的大小的问题
- 浅析C++类在内存中分配的大小问题
- OC中alloc内存分配大小的问题
- OJ上二位动态数组分配的一个错误记录
- kmalloc分配大小的限制
- kmalloc分配大小的限制
- 自增长容器重新分配内部数组垃圾的大小自适应优化
- 线段树分配空间大小问题
- 字符数组的一个问题
- delphi中为动态数组分配空间的问题
- Linux之Whereis 命令详解
- Android ApiDemos示例解析(48):Content->Resources->Resources
- access2007中使用sql视图设置
- Linux Crontab 定时任务 命令详解
- 安装并配置ant
- 一个数组分配大小的问题
- Openssl EVP 说明四 (函数Sign ...) 分享
- Android中的BatteryService及相关组件
- Lisp的本质(The Nature of Lisp)
- Struts类型转换
- 算法导论 第12章 二叉查找树
- EXT中 使用的 highcharts
- Biorhythms(poj1006)
- onPrepareOptionsMenu 和onCreateOptionsMenu 的区别