• 【c语言中数组和指针的联系】


    在这里插入图片描述
    C语言中的数组和指针之间存在紧密的联系,因为数组名本质上就是指向数组首元素的指针。这种联系使得在处理数组时可以像处理指针一样操作,同时也使得数组和指针可以互相转换。

    下面详细说明数组和指针之间的联系,并提供一些示例来演示这种联系:

    1. 数组名是指针:在C语言中,数组名实际上是指向数组首元素的指针。这意味着可以使用数组名来访问数组元素,就像使用指针一样。

      int arr[5] = {1, 2, 3, 4, 5};
      int *ptr = arr; // 将数组名赋值给指针
      
      // 使用指针和数组名访问数组元素
      printf("arr[0] = %d, *ptr = %d\n", arr[0], *ptr);
      
      • 1
      • 2
      • 3
      • 4
      • 5
    2. 指针算术:由于数组名是指针,可以使用指针算术来遍历数组

      int arr[5] = {1, 2, 3, 4, 5};
      int *ptr = arr;
      
      for (int i = 0; i < 5; i++) {
          printf("arr[%d] = %d, *(ptr + %d) = %d\n", i, arr[i], i, *(ptr + i));
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    3. 指针与数组参数:函数可以接受指针参数来处理数组。这样,可以将数组传递给函数,并在函数内部使用指针来操作数组元素。

      void printArray(int *arr, int size) {
          for (int i = 0; i < size; i++) {
              printf("%d ", arr[i]);
          }
          printf("\n");
      }
      
      int main() {
          int arr[5] = {1, 2, 3, 4, 5};
          printArray(arr, 5);
          return 0;
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
    4. 数组指针:可以声明指向数组的指针,这种指针也称为数组指针。它指向整个数组而不是单个元素。

      int arr[5] = {1, 2, 3, 4, 5};
      int (*ptr)[5] = &arr; // 声明一个指向int[5]数组的指针
      
      // 使用数组指针访问数组元素
      printf("(*ptr)[0] = %d, (*ptr)[1] = %d\n", (*ptr)[0], (*ptr)[1]);
      
      • 1
      • 2
      • 3
      • 4
      • 5
    5. 指针和数组的互相转换:可以将数组名转换为指向数组的指针,或者将指向数组的指针转换为数组名。

      int arr[5] = {1, 2, 3, 4, 5};
      int *ptr = arr; // 数组名转换为指针
      
      int (*ptrToArray)[5] = &arr; // 指向数组的指针转换为数组名
      
      • 1
      • 2
      • 3
      • 4
  • 相关阅读:
    对象转json,json添加转义符
    Python Flask
    移动端的布局
    SAP 选择屏幕动态通过Radio Button 显示与隐藏以及控制是否必输
    ICLR 2023丨3DSQA:3D 场景中的情景问答
    Spring Cloud Ribbon面试题
    SQL Server,MySql 按照指定的字段内容里的字符进行排序
    【Android】自制静音App,解决他人手机外放问题
    postman 获取HTML 里name=token 的值
    文件系统理论详解,Linux操作系统原理与应用
  • 原文地址:https://blog.csdn.net/weixin_41777118/article/details/133365672