C语言进阶课程学习记录-数组指针和指针数组分析

慈云数据 2024-04-19 技术支持 104 0

C语言进阶课程学习记录-数组指针和指针数组分析

    • 实验-数组指针的大小
    • 实验-指针数组
    • 小结

      本文学习自狄泰软件学院 唐佐林老师的 C语言进阶课程,图片全部来源于课程PPT,仅用于个人学习记录

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      实验-数组指针的大小

      #include 
      typedef int(AINT5)[5];
      typedef float(AFLOAT10)[10];
      typedef char(ACHAR9)[9];
      int main()
      {
          AINT5 a1;
          float fArray[10];
          AFLOAT10* pf = &fArray;
          ACHAR9 cArray;
          char(*pc)[9] = &cArray;
          char(*pcw)[4] = cArray;
          int i = 0;
          printf("%d, %d\n", sizeof(AINT5), sizeof(a1));//20 20
          for(i=0; i
              (*pf)[i] = i;
          }
          for(i=0; i
              printf("%f\n", fArray[i]);
          }
          //0~9
          printf("%p, %p, %p\n", &cArray, pc+1, pcw+1);// pc+9 pcw+4
          return 0;
      }
          /*
          output:
      20, 20
      0.000000
      1.000000
      2.000000
      3.000000
      4.000000
      5.000000
      6.000000
      7.000000
      8.000000
      9.000000
      0060FEAB, 0060FEB4, 0060FEAF
          */
      
          int ret = -1;
          int i = 0;
          for(i=0; i
              if( strcmp(key, table[i]) == 0 )
              {
                  ret = i;
                  break;
              }
          }
          return ret;
      }
      int main()
      {
          const char* keyword[] = {
                  "do",
                  "for",
                  "if",
                  "register",
                  "return",
                  "switch",
                  "while",
                  "case",
                  "static"
          };
          printf("%d\n", lookup_keyword("return", keyword, DIM(keyword)));
          printf("%d\n", lookup_keyword("main", keyword, DIM(keyword)));
          return 0;
      }
          /*
          output:
      4
      -1
          */
      
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon