• C语言的字符串类型


    C语言使用指针来管理字符串
    (1)C语言中定义字符串的方法:char *p = "linux";此时p就叫字符串,但是实际上p只是一个字符指针(本质上就是一个
    指针变量,只是p指向了一个字符串的起始地址而已)。
    (2)C语言中字符串的本质:指针指向头、固定尾部(字符串总是以‘’来结尾)、地址相连的一段内存
    (3)字符串就是一串字符。字符反映在现实中就是文字、符号、数字等人用来表达的字符,反映在编程中字符就是字符类型的
    变量。C语言中使用ASCII编码对字符进行编程,编码后可以用char型变量来表示一个字符。字符串就是多个字符打包在一起共同
    组成的。
    (4)字符串在内存中其实就是多个字节连续分布构成的(类似于数组,字符串和字符数组非常像)
    (5)''是一个ASCII字符,其实就是编码为0的那个字符(0等于'','0'等于48)
    (6)''作为一个特殊的数字被字符串定义为结尾标志。产生的副作用就是:字符串中无法包含''这个字符。
    (7)指向字符串的指针和字符串本身是分开的两个东西。char *p = "linux";在这段代码中,p本质上是一个字符指针,占4字节;
    "linux"分配在代码段,占6字节;实际上总共耗费了10个字节,在这10个字节中:4字节的指针p叫做字符串指针(用来指向字符串的,
    理解为字符串的引子,但是它本身不是字符串),5字节的用来的存Linux这5个字符的内存才是真正的字符串,最后一个用来存''的
    内存是字符串结尾标志(本质上也不属于字符串)。
    (8)存储两个字符的2种方式:字符串和字符数组
        char *p = "linux";   //字符串
     char a[] = "linux";  //字符数组

  • 相关阅读:
    POJ3783Balls[DP 最坏情况最优解]
    openjudge2989糖果[DP 01背包可行性]
    POJ1160 Post Office[序列DP]
    石子合并[DP-N3]
    POJ1065Wooden Sticks[DP LIS]
    POJ3636Nested Dolls[DP LIS]
    LCIS(最长公共上升子序列)Vijos1264神秘的咒语
    Vijos1680距离/openjudge2988计算字符串的距离[DP]
    Vijos1392拼拼图的小衫[背包DP|二维信息DP]
    NOIP2000方格取数[DP]
  • 原文地址:https://www.cnblogs.com/jiangtongxue/p/11655039.html
Copyright © 2020-2023  润新知