关于字符串赋值的方法以及注意事项
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//关于字符串赋值的方法以及注意事项
int main(int argc, const char *argv[])
{
//指针指向栈区时 字符串赋值以下方式
char *p1 = "hello1";//方法1.直接初始化
printf("%s\n",p1);
char *p2 = NULL;
p2 = "hello2";//方法2.指针指向一个常量区
printf("%s\n",p2);
//int *p6 = NULL;
//strcpy(p6,"hello6");
//printf("%s\n",p6);
char s[32] = {0};//方法3.用strcpy时要先给个空间 系统分配栈区
char *p8 = s; //然后用一个指针指向这个空间
strcpy(p8,"hello8");//将常量的值赋给栈区
//strcpy(s,"hello8"); //也可以直接用s作为首地址复制
//*p8 = "hello8";//不能通过指针取*的方式赋值字符串
//*s = "hello8";//也不能用数组当作指针取*的方式赋值字符串
printf("%s\n",p8);
//指针指向堆区时 字符串赋值一下方式
char *p3 = NULL;
p3 =(char *)malloc(sizeof(char)*32);//手动分配堆区
p3 = "hello3"; //方法1.指针指向一个常量区 分配的堆区没用上
printf("%s\n",p3);
char *p4 = NULL;
p4 =(char *)malloc(sizeof(char)*32);
strcpy(p4,"hello4");//方法2.strcpy赋值 将常量的值赋给堆区
printf("%s\n",p4);
//int *p5 = NULL;//用malloc时也不能直接先赋值,后面会清空值
//p5 =(char *)malloc(sizeof(char)*32);
//*p5 = "hello5";
//字符串不能进行取*赋值操作,可以用指针指向或者strcpy操作
//printf("%c\n",p5);
//char *p7 = "hello7";//指针指向一个字符串常量
//用malloc时也不能直接先赋值,后面会清空值
//p7 =(char *)malloc(sizeof(char)*32);
//printf("%s\n",p7);
return 0;
}
关于字符串赋值的方法以及注意事项相关推荐
- C语言:字符串赋值的方法
main() { char s[30]; strcpy(s, "Good News!"); /*给数组赋字符串*/ . . . } 上面程序在编译时, 遇到char ...
- C语言字符串赋值的方法
首先,C语言没有向C++,Java,python等面向对象的语言中string这样的字符串类型,C语言中的字符串是存放在字符型数组中的 C语言中,常见的3种字符串赋值有如下: 1.通过字符数组直接初始 ...
- C语言逗号表达式赋值、野指针成因、用户标识符、字符串赋值的几个概念
目录 题目 背景概念梳理 逗号表达式 野指针成因 用户标识符 字符串赋值 解题过程 正确答案 整体代码 参考链接 题目 一.输出x及a的结果 int main(){int x,a;x = (a=3, ...
- Python学习教程:Python增强赋值及共享引用注意事项
Python学习教程:Python增强赋值及共享引用注意事项 概述 Python中的增强赋值是从C语言中借鉴出来的,所以这些格式的用法大多和C一致,本身就是对表达式的简写,即二元表达式和赋值语句的结合 ...
- 下面属于python内置对象的有哪些_Python内置对象实现的方法及注意事项
![QQ截图20150928150103.png](http://studygolang.qiniudn.com/150928/e6361a28482c2d44561584940a75112b.png ...
- 给字符数组赋值的方法
main() { char s[30]; strcpy(s, "Good News!"); /*给数组赋字符串*/ . . . } 上面程序在编译时, 遇到char s[30]这条 ...
- PowerBuilder9对中文字符串的处理方法
PowerBuilder9对中文字符串的处理方法 环境:PowerBuilder9.03 由于PB9没有对Unicode的支持函数,处理汉字的字符串只能自己写函数处理. 以下给len()定义函数of_ ...
- go面向对象编程:结构体struct详解、结构体实例的创建方式、结构体之间的转换(type取别名的使用)、方法的注意事项及与函数的区别
入门示例 package main import "fmt" //定义老师结构体,将老师中的各个属性 统一放入结构体中管理: type Teacher struct{//变量名字大 ...
- 7.python字符串-内置方法分析
上篇对python中的字符串内置方法进行了列举和简单说明,但这些方法太多,逐一背下效率实在太低,下面我来对这些方法按照其功能进行总结: 1.字母大小写相关(中文无效) 1.1 S.upper() -& ...
最新文章
- 零基础入门学习Python(27)-文件2
- 积木赛尔号机器人_《赛尔号大电影7》2019年暑期重磅回归 继《熊出没》之后再掀国产动画浪潮...
- hdu4506小明系列故事——师兄帮帮忙 (用二进制,大数高速取余)
- druid不能close mysql连接_alibaba druid mysql连接问题
- servlet容器_Servlet详解(一)之基本概念
- [转载]jQuery操作Table学习总结
- effective C++ 条款 44:将与参数无关的代码抽离templates
- json_encode
- 爬取世界各国历年的GDP数据
- Pandas数据分析——Task2
- s3c2440 uboot 移植 (四)支持环境变量在nandflash 存储
- 在线生成.SVG文件
- 极速搭建vanish - 安装/配置/维护
- Java常用开发软件下载地址
- 技术干货 | AlphaFold/ RoseTTAFold开源复现(1)—推理复现
- 保护您的 ASP.NET 应用程序
- WPF_MahApps.Metro界面主题使用
- 左右手桌面股票盯盘常见问题解答
- 踩坑记:C#访问阿里云的API小结,阿里云的文档有待改善……
- Godaddy申请退款