Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >指针与数组

指针与数组

原创
作者头像
鲁郭大侠
修改于 2020-03-09 03:18:07
修改于 2020-03-09 03:18:07
3810
举报
文章被收录于专栏:高级程序设计高级程序设计

#include <stdio.h>

#include <conio.h>

#define M 4 #define N 8

main() {   int iVal[M][N]; //定义一个l二维数组   int *iPtr; //定义一个指针指向二位s数组

int i,j,

  clrscr();   printf("\nThe Example:\n\n");

//对二维数组进行赋值

  for (i=0;i< M; i++)     for (j=0;j< N; j++)       iVal[i][j]=(i+1)*5+j*100;

//按照二维数组的处理方式(索引)进行检索输出

  printf("Source:\n");   for (i=0;i< M;i++)    {     for (j=0;j< N;j++)       printf("%8d",iVal[i][j]);     printf("\n");    }

  printf("Single demension pointer:\n");

// 指针赋值   iPtr=iVal[0];   j=0;

// 按指针访问形式数组二维数组中的数值   for (i=0;i< M*N;i++)    {       printf("%8d",*(iPtr+i));       j++;       if (j==N)        {   printf("\n");   j=0;        }    }

//对二维数组按指针方式输出   printf("Source Pointer:\n");   for (i=0;i< M;i++)    {     for (j=0;j< N;j++)       printf("%8d",*(iVal[0]+i*N+j));     printf("\n");    }

// 通过指针按访问二维数组的方式访问数值并输出

  printf("Pointer:\n");

  for (i=0;i< M;i++)    {     for (j=0;j< N;j++)       printf("%8d",*(iPtr+i*N+j));     printf("\n");    }

  getch(); }

通过上述代码可以看出 二维数组名称本身就是一个指针。

亦即定义一个二维数组,即可以用数组名称通过数组访问方式访问数组中的数值,也可以应用数组名称采用指针访问方式访问数组中的数值。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
指针与数组区别演示
指针与数组是C语言中的重要组成部分,它们不一样却又有着紧密的联系。下面将用几个代码例子展示它们的关系。
From Zero
2021/02/22
2810
学习——理解指针(2)
        通过之前的学习,我们知道了可以通过&arr[0](取地址操作)来取得数组首元素的地址,但是,数组名其实本来就表示数组首元素的地址
星辰与你
2024/10/17
580
学习——理解指针(2)
c语言从入门到实战——基于指针的数组与指针数组
基于指针的数组(Array of Pointers)和指针数组(Pointer to Array)是两种常见的C/C++语言中的数据结构,它们在内存布局和使用方式上有所不同。
鲜于言悠
2024/03/20
3010
c语言从入门到实战——基于指针的数组与指针数组
指针进阶(1)(字符指针,指针数组,数组指针,函数指针)
我们不难发现p存储的是字符串的首元素地址,这也是一种比较常见的字符串初始化方式,所以此时的p就是一个字符指针,存储的是字符串首元素地址。
用户11316056
2024/10/16
1440
指针进阶(1)(字符指针,指针数组,数组指针,函数指针)
【重拾C语言】七、指针(二)指针与数组(用指针标识数组、多维数组与指针、数组指针与指针数组)
如果一个指针p指向数组a的首地址(即指向a[0]),则p与a表示的是同一个对象。
Qomolangma
2024/07/30
2030
【重拾C语言】七、指针(二)指针与数组(用指针标识数组、多维数组与指针、数组指针与指针数组)
数组详解
注:数组创建,在C99标准之前, [] 中要给一个常量才可以,不能使用变量。在C99标准支持了变长数组的概念。
用户10923087
2024/01/23
1610
数组详解
【C语言】(指针系列3)数组指针+函数指针+typedef+函数数组指针+转移表
答案是:指针数组是一个数组是数组,储存的是地址(首元素),数组指针是数组还是指针哪?答案是--------指针变量
用户11367452
2024/11/21
1090
【C语言】(指针系列3)数组指针+函数指针+typedef+函数数组指针+转移表
指针数组和数组指针的详细解答
/**首先弄明白什么是指针数组,什么又是数组指针。 指针数组: 类型名 *数组名[数组长度] 如: int *p[8]; 因为优先级的关系,p先与[]结合,说明p是一个数组,然后再与*结合数组p 的元素是指向整型数据的指针。相当于定义了8个整型指针变量。在此,p就是 数组元素为指针的数组,本质为数组。 数组指针: 类型名 (*指针名)[数组长度] 如:int (*p)[8]; p先与*号结合
谙忆
2021/01/20
5230
指针数组和数组指针的详细解答
C语言进阶指南(11)(指针数组与二维数组)
指针变量是一个存放地址的变量,在C语言中,每个变量都会有一个地址值。所以指针变量也有一个地址。
代码小豪
2024/06/20
1501
指针进阶(1)
代码 const char* p = “abcdef”; 并不是把字符串 abcdef 放到字符指针 p 里去,而是把字符串 abcdef 首字符的地址放到 p 中去;同时,因为 abcdef 是一个常量字符串,所以要用 const 进行修饰,以保证 p 中的内容不会被修改。
waves浪游
2024/01/22
1290
指针进阶(1)
二维数组与指针复习
最近在练习C语言计算机二级的程序设计题,碰到了二维数组和指针的结合,当时怎么调试都不对,自己也记不清楚该怎么用了就跑去看书翻资料重新复习。 本次复习看的讲解:点击访问
布衣者
2021/09/07
3850
【C语言进阶】指针数组 —— 数组指针
🎬 鸽芷咕:个人主页 🔥 个人专栏:《C语言进阶篇》《C语言初阶篇》
鸽芷咕
2023/12/25
1950
【C语言进阶】指针数组 —— 数组指针
基于C语言指针的一些思考
最近在复习数据结构和复现数据结构算法的过程中遇到了很多困惑的点,曾经默许在脑海中的概念被一次次推翻,很羞愧当时在学习的时候没有发现这些隐晦的知识点,说明当时的自己没有认真的思考和学习,亡羊补牢,希望为时不晚。
tyrantlucifer
2022/03/23
4020
基于C语言指针的一些思考
数组指针 行指针 列指针
我们把指向数组的指针叫做数组指针,后面还会学到指针数组,这两个是不一样的,根据中学语文偏正词组的知识可以知道,前者是指针,后者是数组。
叶茂林
2023/07/28
1800
【C语言】指针进阶:字符指针&&数组指针&&函数指针
✨作者:@平凡的人1 ✨专栏:《C语言从0到1》 ✨一句话:凡是过往,皆为序章 ✨说明: 过去无可挽回, 未来可以改变 ---- 🌹感谢您的点赞与关注,同时欢迎各位有空来访我的🍁平凡舍 ---- 文章目录 @[toc] 🚀前言 🚀字符指针 🚀指针数组 🚀数组指针 🍁&数组名 与 数组名 🍁数组指针的使用 🚀数组传参、指针参数 🍁一维数组传参 🍁二维数组传参 🍁一级指针传参 🍁二级指针传参 🚀函数指针 🚀结语 🚀前言 回想之前,我们学了指针的一些基础👉 指针与结构体 我们知道了指针的概念
平凡的人1
2022/11/15
3.1K0
【C语言】指针进阶:字符指针&&数组指针&&函数指针
指针和二维数组
先前已经写过二维数组的文章了,现在直接开始指针和二维数组 int B[2][3]这个二维数组可以拆分成 创建了两个一维数组 B[0] B[1] 如果我这么写 int* p = B; 你肯定知道这是不行的,因为我们讨论的是二维数组 这是一维数组的写法 是因为B相当于指向一维数组的指针(这个一维数组有三个元素)
用户7272142
2023/10/11
1830
指针和二维数组
C语言数组
风中的云彩
2024/11/07
1700
C语言数组
C语言一百例(31-40)
31,题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。 程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。 程序源代码:
紫禁玄科
2022/03/24
3380
指针进阶(1)
 下面这种写法是有一点风险的,abcdef是常量字符串,是不能被修改的,当我们去修改他的时候,就会发生错误,所以我们最好在char前加const修饰一下。如果用%c来打印的话,只能获得a,一个字符。
用户10923087
2024/01/23
1210
指针进阶(1)
C语言程序设计50例(三)(经典收藏)
【程序31】 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续    判断第二个字母。 1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。 2.程序源代码: 1 #include "stdio.h" 2 #include "conio.h" 3 void main() 4 { 5 char letter; 6 printf("please input the first letter of someday\n");
互联网金融打杂
2018/04/03
2.1K0
相关推荐
指针与数组区别演示
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档