首页 > 其他分享 >【时时三省】(C语言基础)指针进阶6

【时时三省】(C语言基础)指针进阶6

时间:2024-09-05 15:52:58浏览次数:7  
标签:元素 进阶 打印 数组名 C语言 地址 数组 三省 就是

山不在高,有仙则名。水不在深,有龙则灵。

                         ----CSDN 时时三省

例题1:

eac328fcdb114c10b94ad79db2d399b6.jpg

 sizeof(数组名)-数组名表示整个数组的-计算的是整个数组的大小

&数组名-数组名表示整个数组,取出的是整个数组的地址

除此之外,所有的数组名都是数组首元素的地址

第一个a 他有四个元素 每个元素是四个字节 算出来就是16 他就是打印16

第二个a+0 这里的a表示的就不是整个数组了所以这里的a表示的是首元素的地址就是1的地址 1的地址加0等于没加 还是1的地址 他的结果就是4个字节或者8个字节 看平台的情况 我这里他就是打印8

第三个*a *a是数组的第一个地址,所以他就是计算的第一个元素的大小 它打印的就是4

第四个a+1 a表示数组第一个元素的地址 所以a+1就是第2个元素的地址 它计算的地址大小 结果就是4或者8 64位平台就是打印8

第五个a[1]a[1]就是计算它的第二个元素的大小 结果就是4

只要有&a 符号都表示地址,大小和操作系统有关

第六个&a 它虽然是数组的地址 但也是地址 他计算的是第一个地址的大小 打印就是打印4或者8

第七个*&a 解引用相当于找到整个数组 所以它打印的就是16

第八个&a+1 &a就是第一个数组的地址 +1就等于跳过整个数组以后 下一个空间的地址 所以打印出来他地址是4或者8 是数组后面的空间的地址 

第九个&a[0] a[0]是第一个元素 &a[0]取出来第一个元素的地址 这个打印出来的结果就是4或者8

第十个&a[0]+1 这个跟上面那个一样 就是加一算的第二个元素的地址 打印的结果就是4或者8

 

 

 

标签:元素,进阶,打印,数组名,C语言,地址,数组,三省,就是
From: https://blog.csdn.net/2301_81226734/article/details/141872227

相关文章

  • 【时时三省】c语言例题----华为机试题<截取字符串>
    山不在高,有仙则名。水不在深,有龙则灵。                                    ----CSDN时时三省1,题目HJ46截取字符串描述输入一个字符串和一个整数k,截取字符串的前k个字符并输出数据范......
  • 基于C语言的堆排序算法
    一、堆排序概述        堆排序是一种基于二叉堆数据结构的高效排序算法。它具有稳定的时间复杂度为O(nlogn),适用于大规模数据的排序。堆排序具有原地排序的特点,即不需要额外的存储空间,几个指针变量使用O(1)空间,元素交换和堆化操作都是在原数组上进行的。然而,堆排序的......
  • 编译原理项目——C++实现C语言编译器输出为gcc级汇编(代码/报告材料)
    完整的代码材料见文章末尾以下为核心内容和部分结果项目介绍function.cpp实现了共有的函数lexer.cpp词法分析器get_predict_table.cpp获取预测分析表LR.cpp语法分析generate.cpp语义分析中间代码生成to_asm.cpp目标代码生成部分核心代码LR分析#include"co......
  • 【C语言】详解数组
    文章目录前言一、数组的概念二、一维数组1.一维数组的创建2.一维数组的初始化3.一维数组的使用4.一维数组在内存中的存储三、二维数组1.二维数组的创建2.二维数组的初始化3.二维数组的使用4.二维数组在内存中的存储前言一、数组的概念(数组是一组相同类型元素......
  • C语言程序设计(初识C语言后部分)
    十九,指针1)指针是什么?指针理解的2个要点:1,指针是内存中一个最小单元的编号,也就是地址2,平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量总结:指针就是地址,口语中说的指针通常指的是指针变量。指针变量:我们可以通过&(取地址操作符)取出变量的内存起始地址,把......
  • C语言程序设计-练习篇
    少年自当扶摇上,揽星衔月逐日光。一,小乐乐走台阶描述:小乐乐上课需要走n阶台阶,因为腿长,所以每次可以选择走一阶或者两阶,那么他一共有多少种走法?输入描述:输入包含一个整数n(1<=n<=30)输出描述:输出一个整数,即小乐乐可以走的方法数#include<stdio.h>//小乐乐走台阶intf......
  • 用C语言生成字符贪吃蛇游戏
    用C语言生成字符贪吃蛇游戏1.引言贪吃蛇是一个经典的小游戏,玩家通过控制蛇的移动来吃食物,随着食物的增加,蛇的长度也会增加,游戏的难度逐渐提升。本文将介绍如何使用C语言来实现一个简单的字符贪吃蛇游戏。2.环境准备在开始编码之前,需要确认以下开发环境:编译器:支持......
  • C语言练习:扫雷游戏(排除了一些bug,放心食用!)
    游戏规则只有雷被全部排查出来,游戏结束。每当排查一个坐标,如果不是雷,此坐标上就会显示周围一圈上有几个雷。 游戏实现代码讲解开始前的准备首先我们假定一个9*9的棋盘格展示在玩家面前(如下图所示,坐标从0开始)但是对于玩家来说,第一个编号是从0开始的不太习惯,所以我们要在......
  • IM项目:进阶版即时通讯项目---项目总览
    文章目录写在前面相关文档相关架构网关服务用户管理好友管理文件管理消息管理转发管理语音转换写在前面之前用Qt已经完成过一个即时通讯的项目,具体如下:Qt项目:C++全栈聊天项目总结在这个项目的引导下,接触到了如何使用grpc协议来进行RPC调用,之后又对于项目进行了一......
  • C语言学习笔记 Day16(文件管理--下)
    Day16 内容梳理:C语言学习笔记Day14(文件管理--上)-CSDN博客C语言学习笔记Day15(文件管理--中)-CSDN博客目录Chapter10 文件操作10.5文件状态10.6文件的随机读写fseek()、rewind()(1)fseek():移动光标并开始读写(2)rewind():将光标重置回文件开头10.7文件的删除remove(......