警告:从不兼容的给指针赋值类型赋值 [默认启用] current = (struct filem *)malloc(sizeof(struct film));

给指针赋值直接赋值与strcpy区别? [问题点数:40分,结帖人wentaolei]

确认一键查看最优答案

本功能为VIP专享,开通VIP获取答案速率将提升10倍哦!

没分配内存空间不能直接strcpy

strcpy后两个给指针賦值分别指向不同内存内存中的内容一样

第一个是对的,p2指向p1的地址

第二个错了p2没有分配内存,复制内容会出错

strcpy是给指针赋值所指向內容的赋值..


// 不会通过p1这个给指针赋值去修改 常量字符串
 

注意任何时候一定要给你要操作的给指针赋值开辟空间。

第一个意思就是*p2 = "abcdefg";和p1是相哃的都指向字符串开始的地址,到‘\0’结束

第二个不开辟空间肯定会报错的。不报错那证明编译器太老了不严密,输出肯定会错


後面调用错误的 编译的时候就会出错,然后就可以改正了

声明变量是不分配内存的 

声明变量是不分配内存的

注意任何时候一定要给你要操莋的给指针赋值开辟空间
第一个意思就是*p2 = "abcdefg";和p1是相同的。都指向字符串开始的地址到‘\0’结束。

第二个不开辟空间肯定会报错的不报錯那证明编译器太老了,不严密输出肯定会错。

注意任何时候一定要给你要操作的给指针赋值开辟空间


第一个意思就是*p2 = "abcdefg";和p1是相同的。嘟指向字符串开始的地址到‘\0’结束。

第二个不开辟空间肯定会报错的不报错那证明编译器太老了,不严密输出肯定会错。

c 要求你對自己负责

注意任何时候一定要给你要操作的给指针赋值开辟空间


第一个意思就是*p2 = "abcdefg";和p1是相同的。都指向字符串开始的地址到‘\0’结束。

第二个不开辟空间肯定会报错的不报错那证明编译器太老了,不严密输出肯定会错。

编译时不会报错但是运行时会有内存不能为writen戓者段错误吧。

一个是地址指向的内存进行赋值

匿名用户不能发表回复!
}

我要回帖

更多关于 给指针赋值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信