字符串 - 数据类型

时间:2015-07-05 20:38:53

标签: c

我已经学会了如何处理除字符串之外的所有数据类型。那么,任何人都可以帮我解决这些问题吗?

4 个答案:

答案 0 :(得分:3)

您可以将字符串定义为字符数组或指向char的指针,字符串以null结尾(0字节)

示例:

char c[]="abcd";  
char c1[5]="abcd"; 
char c2[]={'a','b','c','d','\0'}; 
char c3[5]={'a','b','c','d','\0'};
char *c4="abcd"; 

答案 1 :(得分:3)

如果你熟悉C中数组的概念,那么C中的一个字符串就是char s的数组 - 最后有一个特殊值\0,标志着它的结束。 e.g。

char s[] = "Hello";

它将存储在内存中:

+------------------------------------+ 
| 'H' | 'e' | 'l' | 'l' | 'o' | '\0' |
+------------------------------------+

有关详细信息,您确实可以阅读一些参考资料,例如one

答案 2 :(得分:2)

字符串:字符数组

  1. string:以空字符'\0'结尾的字符数组。声明:char S[array_size];
  2. 字符串输入/输出:

    scanf("%s",S); printf("%s",S);

  3. string.h:字符串操作函数的集合

  4. 没有用于字符串赋值和比较的标准运算符! (记住:字符串是数组!)
  5. 示例代码:

    #include<stdio.h>
    #include<string.h>
    
    #define MAX_STRING_LEN 80
    
    int main() {
    
      /* strings are array of characters 
       * terminated by the NULL character
       * which is different from '0' */
    
      char S[MAX_STRING_LEN];
      int l, i;
    
      S[0] = 'a';
      S[1] = 'b';
      S[2] = 'c';
      S[3] = 'd';
      S[4] = 'e';
      S[5] = 'g';
      S[6] = '0';
      S[7] = 0;
    
      l = strlen(S);
    
      printf("S:\t%s\n",S);
      printf("length:\t%d\n",l);
    
      /* print characters in S */
    
      printf("forward\n");
      for (i = 0; i < l; ++i) 
        printf("A[%d] = %c\n",i,S[i]);
    
      /* print characters in S backwards */
    
      printf("\nbackward\n");
      for (i = l-1; i >= 0; --i) 
        printf("A[%d] = %c\n",i,S[i]);
    }
    

答案 3 :(得分:0)

在此声明中

public class School
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int SchoolID { get; set; }

    public string DayEvent { get; set; }
    public string DayNote { get; set; }
    // ...
}

有5个初始值设定项,但数组char surnm[4] = {'P', 'i', 'n', 'e', '\0'}; 中只有4个元素。因此,数组不包含字符串,因为它不包含终止零。你应该写

surnm

char surnm[5] = {'P', 'i', 'n', 'e', '\0'};

char surnm[] = {'P', 'i', 'n', 'e', '\0'};

char surnm[5] = { "Pine" };

char surnm[5] = "Pine";

char surnm[] = { "Pine" };