1 #include <stdio.h>
  2 #include <stdlib.h>
  3 #include <string.h>
  4 
  5 int main1(void)
  6 {
  7     //用数组的方式存储;
  8     char str1[100] = "Chien is here";
  9 
 10     //数组的方式;
 11     //p1存储的的是栈上分配数组的地址,数组拷贝代码区的字符串常量;
 12     //在堆上开辟的地址;
 13     char* p1 = (char[]) { 'm', 's', 'p', 'a', 'i', 'n', 't','\0'};
 14 
 15     //"notepad"是常量字符串,在代码区;
 16     //p2此时存储的是代码区的地址;
 17     char* p2 = "notepad";
 18 
 19     *str1 = 'A';
 20     puts(str1);
 21 
 22     *p1 = 'X';
 23     puts(p1);
 24 
 25     //p2后面的"notepad"是一个常量;
 26     //*p2 = 'Z';
 27     //puts(p2);
 28 
 29 
 30     system("pause");
 31     return 0;
 32 }
 33 
 34 
 35 int main2(void)
 36 {
 37     char str1[5] = "calc";
 38     printf("%d\n", sizeof(str1));
 39 
 40     //strlen可以计算字符串的长度,但是不包括'\0'
 41     printf("%d\n", strlen(str1));
 42 
 43     for (int i = 0; i < 5; i++)
 44     {
 45         printf("%d\n", str1[i]);
 46     }
 47 
 48     system("pause");
 49     return 0;
 50 }
 51 
 52 
 53 
 54 int main3(void)
 55 {
 56 
 57     //没有'\0'打印的时候,打印的时候会烫烫烫;
 58     //整体显示,必须要有\0;
 59     char str[6] = { 'a','b','c','d','e','\0'};
 60     printf("%s", str);
 61     
 62     putchar('\n');
 63 
 64     char str2[6] = { 'a','b','c','d','e','f' };
 65     for (int i = 0; i < 6; i++)
 66     {
 67         putchar(str2[i]);
 68     }
 69 
 70     putchar('\n');
 71 
 72     //字符串个数为【5】,多余{'a','b','c','d'}其余字符设置为编号为0的字符‘\0’的字符;
 73     //少了以后编译会出错;
 74     //必须要考虑'\0';
 75 
 76 
 77 
 78     system("pause");
 79     return 0;
 80 }
 81 
 82 
 83 
 84 //指针循环输出字符的方法;
 85 int main4(void)
 86 {
 87     char* p = "mspaint";
 88 
 89     for (char* i = p; *i != '\0'; i++)
 90     {
 91         putchar(*i);
 92     }
 93 
 94     system("pause");
 95     return 0;
 96 }
 97 
 98 
 99 int main(void)
100 {
101     char* p = "iloveyou";
102     //改变指针的位置来输出不同的字符;
103     printf("%s", p + 5);
104 
105     //在代码区,代码区允许编译,但是不允许修改,会报错
106     p[4] = 'x';
107 
108     system("pause");
109     return 0;
110 }

 

posted on 2019-04-27 12:58  寒舟独饮  阅读(170)  评论(0)    收藏  举报