指针直接赋值与strcpy区别
来源:互联网 发布:淘宝客流量稳定吗 编辑:程序博客网 时间:2024/06/05 19:23
char* p1="abcdefg";char* p2;p2=p1;strcpy(p2,p1);
p2=p1;
strcpy(p2,p1);
这两个语句有什么区别??
解析:
没分配内存空间不能直接strcpy
strcpu需要复制到一个有效的,能存储字符串的空间,而p2只是一个地址,能存的也是一个地址。
申请空间:
char*p2 = (char*)malloc(sizeof(char)*strlen(p1));
此时,(char)的括号不能省略,当类型的时候, * 表示乘号。
char* p2;
这是在声明一个变量
声明变量是不分配内存的
p2 = p1是两个指针指向同一块内存,是指针的地址赋值
strcpy后两个指针分别指向不同内存,内存中的内容一样,是地址指向的内存进行赋值
第一句相当于const char* p1="abcdefg"; 但是 p2 = p1会报错
原因是把一个const char*赋给一个char*,结果就导致可以通过char *p2来修改p1所指向的内容,与const的意义相驳。
阅读全文
1 0
- 指针直接赋值与strcpy区别
- 指针直接赋值与strcpy区别
- 指针直接赋值和strcpy的区别
- strcpy 与 自己 赋值的 区别 (new)
- 指针初始化与指针赋值有什么区别
- String、StringBuffer与StringBuilder之间区别 以及String 直接赋值和new后赋值区别
- memcpy 与strcpy区别
- strcpy 与strncpy 区别
- strcpy与memcpy区别
- strcpy与memcpy区别
- memcpy()与strcpy()区别
- memcpy与strcpy区别
- JAVA中String直接赋值与new出来的对象赋值的区别
- 如何理解字符串赋值给指针与数组的区别
- 给字符指针赋值, ” “双引号与' '单引号的区别
- 字符串赋值给指针与数组的区别
- 指针赋值与指针传递
- 指针的值可以直接输入赋值
- adb通过wifi来连接电视调试
- iOS崩溃 捕获异常处理
- ambari安装详解
- mysql慢查询日志开启与分析
- hadoop安全模式
- 指针直接赋值与strcpy区别
- c++友元函数声明及其调用
- vue-cli 构建的项目中使用 Less
- 【转】centos安装vim7.4
- 检测网络是否正常(ping,Telnet,tracert以及tnsping)
- Python爬虫:爬取小说花千骨--转自微信
- 欢迎使用CSDN-markdown编辑器
- python 操作MongoDB
- C++11 并发指南四(<future> 详解一 std::promise 介绍)