浅谈指针数组

简介: 浅谈指针数组

下面请看笔者对于进阶字符指针的详解!


int* arr1[10];  //整型指针的数组

char* arr2[2];  //一级字符指针的数组

char** arr3[5];  //二级字符指针的数组

上面的两个字符指针的数组,是由整型指针的数组借鉴而来!


下面请看代码,笔者用代码+解析的方式来带领大家理解!


#include <stdio.h>
int main()
{
  char* arr[5] = { "zhangsan","lisi","wangwu","hehe","ruhu" };
  int i = 0;
  for (i = 0; i < 5; i++)
  {
  printf("%s\n", arr[i]);
  }
  return 0;
}

在上述代码段中,笔者定义了: char* arr[5];类型的存放指针的数组,然后通过printf函数每次都打印出来!


但是,这里用了原先打印数组的方式来打印,并不是笔者创造该博客的所想思想!


所以将printf函数里面的内容进行简单更改为:


printf("%s\n",*(arr+i));

再这个代码中,读者应该也能看懂,毕竟这个是指针的入门知识!


对存放字符指针的数组: char* arr[5]; 进行分解为:


char*
char*
char*
char*
char*

每一个char* ,都指向该元素的首字母!即:‘z' , 'l' , 'w' , 'h', 'r' 五个字母!


该段代码段运行结果为:


0a2653c851af460fa595bd959398a8f1.png


下面请看笔者所写的:指针数组的精华部分:


#include <stdio.h>
int main()
{
  int arr1[5] = { 1,2,3,4,5 };
  int arr2[5] = { 2,3,4,5,6 };
  int arr3[5] = { 3,4,5,6,7 };
  int* arr[3] = { arr1,arr2,arr3 };
  int i = 0;
  int j = 0;
  for (i = 0; i < 3; i++)
  {
  for (j = 0; j < 5; j++)
  {
    printf("%d ", arr[i][j]);
  }
  printf("\n");
  }
  return 0;
}

在上面代码中,笔者定义了三个一维数组,并且通过一个指针数组将这三个一维数组进行联立起来!int* arr[3] = { arr1,arr2,arr3 };   这个确实很难想到,毕竟很少有这样使用的方法,在此,笔者仅仅是用来模拟一下,仅供参考!


下面是笔者在画图板上面的操作!


6de278e6d6694ce5bb08e7e842b7e74b.png


在上面图片中,详细的讲解了:指针数组的简单运用过程!


首先在for循环里面,由 i 外层循环开始变化,到 j 内层循环变化,依次找到数组!并且打印出来!最后运行结果为:


12c3b7f3f8814309a195c64f051d4445.png


该段内容大致已经结束,笔者对于指针数组部分,暂时先讲解到此,至于精彩部分,请看笔者后续!


相关文章
|
16天前
使用指针访问数组元素
【10月更文挑战第30天】使用指针访问数组元素。
30 3
|
15天前
使用指针访问数组元素
【10月更文挑战第31天】使用指针访问数组元素。
28 2
|
24天前
|
算法 索引
单链表题+数组题(快慢指针和左右指针)
单链表题+数组题(快慢指针和左右指针)
28 1
|
1月前
|
存储
如何使用指针数组来实现动态二维数组
指针数组可以用来实现动态二维数组。首先,定义一个指向指针的指针变量,并使用 `malloc` 为它分配内存,然后为每个子数组分配内存。通过这种方式,可以灵活地创建和管理不同大小的二维数组。
|
1月前
|
存储
如何通过指针数组来实现二维数组?
介绍了二维数组和指针数组的概念及其区别,详细讲解了如何使用指针数组模拟二维数组,包括定义与分配内存、访问和赋值元素、以及正确释放内存的步骤,适用于需要动态处理二维数据的场景。
|
1月前
|
存储 算法 C语言
C语言:什么是指针数组,它有什么用
指针数组是C语言中一种特殊的数据结构,每个元素都是一个指针。它用于存储多个内存地址,方便对多个变量或数组进行操作,常用于字符串处理、动态内存分配等场景。
|
1月前
魔法指针 之 二级指针 指针数组
魔法指针 之 二级指针 指针数组
19 1
|
1月前
|
存储
一篇文章了解区分指针数组,数组指针,函数指针,链表。
一篇文章了解区分指针数组,数组指针,函数指针,链表。
18 0
|
1月前
|
编译器 C语言
【C语言】指针篇-深入探索数组名和指针数组- 必读指南(2/5)
【C语言】指针篇-深入探索数组名和指针数组- 必读指南(2/5)
|
3月前
|
搜索推荐 C语言
指针与数组
指针与数组
59 9