永发信息网

C语言结构体成员指针初始化问题

答案:3  悬赏:0  手机版
解决时间 2021-04-14 06:52
(一)
int main()
{
struct student{
char *name;
int score;

}stu, *stu1;
stu.name = "jim";
}//此处的student.name并没有初始化,没有给它用malloc函数分配空间,但是可以赋值成功
----------------------------------------------------------------------------------------------------
(二)
int main()
{
struct student{
char *name;
int score;
struct student* next;
}stu, *stu1;

//stu.name = (char*)malloc(sizeof(char));
strcpy_s(stu.name, 5,"jim");
}//此处用stucpy_函数时却提示student.name没有初始化,chuan复制未成功

问题:(一)中的student.name并未初始化,为什么能赋值成功?
(二)偶用strcpy_s函数时有疑问,strcpty(str1,int,str2)中 sizeof(str1)>int&&int>sizeof(str2)才ok?
最佳答案
问题:(一)中的student.name并未初始化,为什么能赋值成功?
stu.name = "jim"; "jim"; 是字符串常量,系统自动为他分配了内存并保存这些字符,执行赋值操作是,将这个字符串的首地址复制给 stu.name。
(二)偶用strcpy_s函数时有疑问,strcpty(str1,int,str2)中 sizeof(str1)>int&&int>sizeof(str2)
strcpy_s和strcpy()函数的功能几乎是一样的。strcpy函数,就象gets函数一样,它没有方法来保证有效的缓冲区尺寸,所以它只能假定缓冲足够大来容纳要拷贝的字符串。在程序运行时,这将导致不可预料的行为。用strcpy_s就可以避免这些不可预料的行为。
这个函数用两个参数、三个参数都可以,只要可以保证缓冲区大小。
三个参数时:
errno_t strcpy_s(
char *strDestination,
size_t numberOfElements,
const char *strSource
);
两个参数时:
errno_t strcpy_s(
char (&strDestination)[size],
const char *strSource)

例如:
char *str1=NULL;
str1=new char[20];
char str[7];
strcpy_s(str1,20,"hello world");//三个参数
strcpy_s(str,"hello");//两个参数但如果:char *str=new char[7];会出错:提示不支持两个参数
全部回答
void attach (char *name, int address, int length) { device_t *d; target_t *target; d = target ->attach_device(name, address, length); } 其中的target只是一个target_t 类型的指针,你只是定义了,没有指向某个地方。 他会随便指向某个地方,当你用target时,就会报错了。 应该先定义一个target_t变量,然后把它的地址赋给指针!
一中只是将name指向“jim”所在的空间,”jim“已经存在了,直接将指针指向他即可,而二中是复制一个”jim“到name所指向的空间,没有初始化当然不行
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
秦皇岛有什么特产
下列各句中,没有语病的一句是A. 这个结论,
女人提升修养的句子,描写女人修养的句子
盛世OL去那接押镖任务?
谁知道这个视频的背景音乐是啥?
香煎大白刁怎么做好吃 香煎大白刁的做法
会计人员年终都要做些什么?
广西到广州多少公里
多又好购物中心龚路支路店地址在什么地方,想
怎么关闭QQ空间?
岱庙的门票是多少
TTS文件夹
古诗按内容可以分为哪几种
单选题安全用电的原则是A.不靠近电源B.不接触
有关安全的口号标语,关于安全的幽默警示语
推荐资讯
如图所示是某种物质熔化时温度随时间变化的曲
数字981.1314.721的含义?
单选题Thescholarship________tohimfor
问了还不如不问
谁知道“非电量电测技术在生产中的应用”的论
胃病应该禁忌一些什么食物.
那个知道在2000元以内诺基亚手机比较好的?要
什么方法可以有效的调节内分泌?
搬新家红包祝福语,亲戚乔迁新居红包上该怎么
不能在胡乱的盲目挣扎中的盲目什么意思
廣州在哪???
为什么在最近的一次更新中,等所有文件下载完
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?