31深刻理解C指針之---指針和字符串

  1、字符串與指針

    一、定義:使用字符指針表示字符串

    二、特徵:

      1)、能夠直接使用字符串字面量初始化字符指針

      2)、聲明後,賦值就只能使用字符串操做函數strcpy函數賦值

      3)、能夠使用相似於數組的一一賦值

      4)、能夠使用相似於數組的總體賦值

      5)、必須先申請內存空間

    三、應用:數組

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <stdlib.h>
 4
 5 int main(int argc, char **argv)
 6 {
 7     char *arr1 = "Sound";
 8     char arr[6] = {'S', 'o', 'u', 'n', 'd',};
 9     char *arr2 = arr;
10     char *arr3 = (char *)malloc(sizeof(char) * 6);
11     *(arr3 + 0) = 'S';
12     *(arr3 + 1) = 'o';
13     *(arr3 + 2) = 'u';
14     *(arr3 + 3) = 'n';
15     *(arr3 + 4) = 'd';
16     *(arr3 + 5) = '\0';
17     char *arr4 = (char *)malloc(sizeof(char) * 6);
18     strcpy(arr4, "Sound");
19
20     printf("arr1: %s\n", arr1);
21     printf("arr2: %s\n", arr2);
22     printf("arr3: %s\n", arr3);
23     printf("arr4: %s\n", arr4);
24
25     return 0;
26 }

    1)、能夠直接將字符串字面量賦值給字符指針,完成字符串的初始化;函數

    2)、能夠直接將字符數組賦值給字符指針,完成字符串的初始化;spa

    3)、能夠先申請內存,以後像字符數組那樣一一賦值,最後務必加上結束字符'\0';指針

    4)、能夠先申請內存,以後使用字符操做函數strcpy將字符串字面量複製到到字符指針,完成賦值操做;code

相關文章
相關標籤/搜索