lnlidawei

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

【c】c语言之字符和字符串

 

 

 

一、计算字符串数组中字符串的数量

 

  char *name[] = {"sun-wukong",  "sha-wujng",  "zhu-wuneng",  "tang-xuanzang" };

  

  // char pt0[] = ""sun-wukong;

  // char pt0[] = "sha-wujng";

  // char pt0[] = "zhu-wuneng";

  // char pt0[] = "tang-xuanzang";

  // char *name[] = { pt0, pt1, pt2, pt3};

 

  long int size1 = sizeof name / sizeof *name;

  long int size2 = sizeof name / sizeof name[0];

 

  1、代码解读:在字符串的数组中,统计字符串的数组中所有指针占用的内存空间的字节总数(T),统计单个字符串的指针占用的内存字节数量(L)。

    统计字符串的数组中字符串的数量(N),思路如下:

      --  在字符串的数组中,每一个字符串对应一个指针;sizeof(name)表示所有字符串指针占用内存空间的字节总数量;

      --  统计字符串的数组中所有指针占用的内存空间的字节总数量(T bytes);(统计字符串数组的所有指针,占用的内存空间的总字节数);

      --  统计某个字符串指针占用的内存空间的字节数量(L bytes);(统计某个字符串占用的内存空间的字节数)

      --  N = T/L

        --  T = sizeof(name); T表示所有字符串的指针占用的内存空间的字节的总数量;

        --  L=sizeof(pt0);L表示某个字符串占用内存空间的字节数量;

        --  N 表示字符串数组中,指针的数量。因为一个指针对应一个字符串(指针和字符串具有一一对应关系);所以N代表字符串数组的数量。

 

posted on 2025-02-26 16:52  lnlidawei  阅读(4)  评论(0)    收藏  举报