zoukankan      html  css  js  c++  java
  • C语言中的字符数组和字符串

    在C语言中,没有字符串类型,但是可以通过字符数组来模拟字符串。

    字符串可以在栈上,堆上,静态区和常量区进行分配。

    char buf[50]  = "abc";

    char buf[] = "abc";

    对应于第一种,编译器会自动进行优化,也就是buf的前三个元素分别是“a”,“b”,“c”,从buf[3]到buf[49]都是“”

    对于第二种,编译器会自动推断出元素的长度,因此第二种仅仅相当于是第一种的前4个字符。

    上面两种都称为C 类型的字符串,这是因为它们都是以""结尾的。

    char buf[50] = {"a","b","c"};

    char bud[] = {"a","b","c"};

    对于第一种情况,编译器的优化方式和上面第一种是一样的。

    对于第二中情况,那就真的是长度为3的字符组数了,由于不是以0结尾,因此就不是C风格的字符数组。

    可以通过strlen函数求得字符串的长度,是不包括“”的。可以通过sizeof操作符求得字符串在内存中占的大小,是包括“”的。

  • 相关阅读:
    EF
    采用什么架构,才能够承受大访问量
    13个MVC的扩展
    c#与.NET的区别
    整合Spring.net到asp.net网站开发中初探
    C#多线程编程简述
    ASP.NET页面传值的几种方式
    正则RegEXp
    C#中Cache用法
    c#程序将excel文件转换成xml文件
  • 原文地址:https://www.cnblogs.com/andyniu/p/7623065.html
Copyright © 2011-2022 走看看