找回密码
 立即注册
搜索
查看: 263|回复: 3

问一个C的基础问题:地址的问题。

[复制链接]

12

主题

171

回帖

256

积分

海星

积分
256
发表于 2002-10-11 20:39:34 | 显示全部楼层 |阅读模式
C中对地址的问题一向比较烦人。

定义这样一个结构体:

struct student
{
    char name[20];
    int age;
}

用这个结构体定义一个变量:

struct student stru1;

现在,如何引用name[6]的地址。
比如说:
memcpy((void *)stru1.name,"Hello!");
memcpy((void *)&(stru1.name[6]),'\0',1);
第二句一定会产生段错误。(Linux下如此)。
不要说stru1.name[6]='\0';
只是看如何得到stru1.name[6]的地址。

957

主题

2万

回帖

3万

积分

注册会员

积分
36136
发表于 2002-10-11 21:59:08 | 显示全部楼层
memcpy((void *)&(stru1.name[6]),'\0',1);
第二个参数应该是"\0"
&(stru1.name[6]) 没问题
回复

使用道具 举报

957

主题

2万

回帖

3万

积分

注册会员

积分
36136
发表于 2002-10-11 22:07:08 | 显示全部楼层
或者是(void *)(stru1.name+6)
回复

使用道具 举报

12

主题

171

回帖

256

积分

海星

积分
256
 楼主| 发表于 2002-10-13 10:59:44 | 显示全部楼层
多谢指教!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|海浩社区

GMT+8, 2025-9-18 23:56 , Processed in 0.092182 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表