#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;

}

关于字符串赋值的方法以及注意事项相关推荐

  1. C语言:字符串赋值的方法

    main()  {  char s[30];  strcpy(s, "Good News!"); /*给数组赋字符串*/  .  .  .  }  上面程序在编译时, 遇到char ...

  2. C语言字符串赋值的方法

    首先,C语言没有向C++,Java,python等面向对象的语言中string这样的字符串类型,C语言中的字符串是存放在字符型数组中的 C语言中,常见的3种字符串赋值有如下: 1.通过字符数组直接初始 ...

  3. C语言逗号表达式赋值、野指针成因、用户标识符、字符串赋值的几个概念

    目录 题目 背景概念梳理 逗号表达式 野指针成因 用户标识符 字符串赋值 解题过程 正确答案 整体代码 参考链接 题目 一.输出x及a的结果 int main(){int x,a;x = (a=3, ...

  4. Python学习教程:Python增强赋值及共享引用注意事项

    Python学习教程:Python增强赋值及共享引用注意事项 概述 Python中的增强赋值是从C语言中借鉴出来的,所以这些格式的用法大多和C一致,本身就是对表达式的简写,即二元表达式和赋值语句的结合 ...

  5. 下面属于python内置对象的有哪些_Python内置对象实现的方法及注意事项

    ![QQ截图20150928150103.png](http://studygolang.qiniudn.com/150928/e6361a28482c2d44561584940a75112b.png ...

  6. 给字符数组赋值的方法

    main() { char s[30]; strcpy(s, "Good News!"); /*给数组赋字符串*/ . . . } 上面程序在编译时, 遇到char s[30]这条 ...

  7. PowerBuilder9对中文字符串的处理方法

    PowerBuilder9对中文字符串的处理方法 环境:PowerBuilder9.03 由于PB9没有对Unicode的支持函数,处理汉字的字符串只能自己写函数处理. 以下给len()定义函数of_ ...

  8. go面向对象编程:结构体struct详解、结构体实例的创建方式、结构体之间的转换(type取别名的使用)、方法的注意事项及与函数的区别

    入门示例 package main import "fmt" //定义老师结构体,将老师中的各个属性 统一放入结构体中管理: type Teacher struct{//变量名字大 ...

  9. 7.python字符串-内置方法分析

    上篇对python中的字符串内置方法进行了列举和简单说明,但这些方法太多,逐一背下效率实在太低,下面我来对这些方法按照其功能进行总结: 1.字母大小写相关(中文无效) 1.1 S.upper() -& ...

最新文章

  1. 零基础入门学习Python(27)-文件2
  2. 积木赛尔号机器人_《赛尔号大电影7》2019年暑期重磅回归 继《熊出没》之后再掀国产动画浪潮...
  3. hdu4506小明系列故事——师兄帮帮忙 (用二进制,大数高速取余)
  4. druid不能close mysql连接_alibaba druid mysql连接问题
  5. servlet容器_Servlet详解(一)之基本概念
  6. [转载]jQuery操作Table学习总结
  7. effective C++ 条款 44:将与参数无关的代码抽离templates
  8. json_encode
  9. 爬取世界各国历年的GDP数据
  10. Pandas数据分析——Task2
  11. s3c2440 uboot 移植 (四)支持环境变量在nandflash 存储
  12. 在线生成.SVG文件
  13. 极速搭建vanish - 安装/配置/维护
  14. Java常用开发软件下载地址
  15. 技术干货 | AlphaFold/ RoseTTAFold开源复现(1)—推理复现
  16. 保护您的 ASP.NET 应用程序
  17. WPF_MahApps.Metro界面主题使用
  18. 左右手桌面股票盯盘常见问题解答
  19. 踩坑记:C#访问阿里云的API小结,阿里云的文档有待改善……
  20. Godaddy申请退款

热门文章

  1. 4.3.2 桥架翻模
  2. 4.3.3 风管翻模
  3. 网站提示DNS_PROBE_FINISHED_NXDOMAIN错误如何修复
  4. MySQL数据库怎么进行分库分表?
  5. NE5532DR IC OPAMP GP 2 CIRCUIT 8SOIC
  6. js获取内网/局域网ip地址,操作系统,浏览器版本等信息
  7. 微星Z370M主板参数
  8. 计算机考研英语复试专有名词翻译
  9. python爬取高匿代理IP(再也不用担心会进小黑屋了)
  10. Google Play应用商店开发者账号注册教程