首页 > 其他分享 >【C语言习题】30.使用指针打印数组内容

【C语言习题】30.使用指针打印数组内容

时间:2024-06-14 23:30:24浏览次数:13  
标签:arr 打印 字节 int 30 C语言 数组 习题 指针

文章目录


作业标题

使用指针打印数组内容

作业内容

写一个函数打印arr数组的内容,不使用数组下标,使用指针。

arr是一个整形一维数组。

2.解题思路

先定义一个数组,使用指针打印数组内容那就是说我们可以通过对指针解引用,来访问对应的数组元素。

我们可以设置一个for循环,每次对指针进行自增或其他操作,来达到对不同元素的访问。

注意不要越界访问哦。

3.具体代码

int main()
{
    int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
    int* p = &arr[0];
    int i = 0;
    int sz = sizeof(arr) / sizeof(arr[0]);
    for (i = 0; i < sz; i++)
    {
        printf("%d ", *(p + i));
    }
    return 0;
}

打印:

在这里插入图片描述


需要注意的是

这里p的指针类型不能写成char*

因为如果pchar*类型的,这里的p += 4;会只读取每个int类型(int类型4字节,char类型1字节)的第一个字节,跳过每个int类型的后3个字节。

数字小的时候可能看不出什么,但是数字大了就可能会打印奇怪的东西。

标签:arr,打印,字节,int,30,C语言,数组,习题,指针
From: https://blog.csdn.net/hlyd520/article/details/139691811

相关文章

  • 【C语言】13.数据在内存中的存储
    文章目录1.整数在内存中的存储2.大小端字节序和字节序判断2.1什么是⼤⼩端?2.2为什么有⼤⼩端?2.3练习2.3.1练习12.3.2练习22.3.3练习32.3.4练习42.3.5练习52.3.6练习63.浮点数在内存中的存储3.1练习3.2浮点数的存储3.2.1浮点数存的过程3.2.2浮点数取的过......
  • C语言例题,五子棋在判断胜负,下棋落子上的算法参考,以及基于easyx的实现源码
    赘述首先我们需要在外部定义一个(n+4)*(n+4)且全为0的二维数组(为什么要加4见判断胜负部分)         以及鼠标消息变量mouse        (设成0只是为了判断是否是未落子区域),其中n为我们所绘制棋盘各行/列单位元个数+1如在800*800的棋盘中我们的n就是9当我们将......
  • R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化|附代码数据
    全文链接:http://tecdat.cn/?p=32511原文出处:拓端数据部落公众号时间序列模型的理论已经非常丰富,模型的应用也相当广泛。但现实生活中,越来越多的时间序列模型呈现出了非线性的特点,因此,研究非线性时间序列模型的理论及对其参数进行估计有着极其重要的意义。门限模型作为非线性......
  • C语言大师之路:从零到王者/新手入门(2)
    序(一些闲话)我希望我的语言不要像专业书那样让人眼花缭乱,所以当我解释语法时,我会尽量避免使用太多专业术语,让说明更容易理解。我会用通俗易懂的语言来解释,而不是像专业书籍那样让人感到困惑。本人计划通过文章分享C语言的核心知识点和学习心得。鉴于仍处于学习阶段,文章中可......
  • 【GD32F303红枫派使用手册】第十五节 USART-printf打印实验
    15.1实验内容通过本实验主要学习以下内容:串口简介GD32F303串口工作原理使用printf打印信息15.2实验原理15.2.1串口简介串口,从广义上看,指所有串行通信接口,比如RS232、RS422、RS485、SPI、IIC等。串行通讯是指仅用一根接收线和一根发送线就能将数据以位进行传输的通讯......
  • 单向链表————遍历、查找、插入结点 (基于C语言实现)
    #include<stdio.h>#include<stdbool.h>#include<stdlib.h>#include<stdbool.h>//指的是单向链表中的结点有效数据类型,用户可以根据需要进行修改typedefintDataType_t;//构造链表的结点,链表中所有结点的数据类型应该是相同的typedefstructLinkedList{Dat......
  • C语言数据结构实现-静态链表2-基本操作
    上节,我们初步创建了一个静态链表,本节学习有关静态链表的一些基本操作,包括对表中数据元素的添加、删除、查找和更改。本节是建立在已能成功创建静态链表的基础上,因此我们继续使用上节中已建立好的静态链表学习本节内容,建立好的静态链表如图1所示:静态链表添加元素例如,在图1......
  • C语言-运算符
    运算符有几个操作数就是几元运算符1、算术运算符*运算符**描述**操作数个数(几元运算符)**组成的表达式的值**副作用*+正号1操作数本身无-负号1操作数符号取反无+加号2两个操作数之和无-减号2两个操作数之差无*****乘号2两个......
  • Q30 LeetCode454 四数相加2
    相对于4重循环,改成两个二重循环O(n2)使用HashMap存储前两个数组的和,再在另外两个数组的循环中找值  1classSolution{2publicintfourSumCount(int[]nums1,int[]nums2,int[]nums3,int[]nums4){3intans=0;4intsum=0;5......
  • C语言数据结构实现-静态链表1-初始化
    《顺序表和链表优缺点》一节,我们了解了两种存储结构各自的特点,那么,是否存在一种存储结构,可以融合顺序表和链表各自的优点,从而既能快速访问元素,又能快速增加或删除数据元素。静态链表,也是线性存储结构的一种,它兼顾了顺序表和链表的优点于一身,可以看做是顺序表和链表的升级版。使......