首页 > 其他分享 >笔记-C-typdef定义数组

笔记-C-typdef定义数组

时间:2023-07-23 18:12:06浏览次数:44  
标签:addr val int typdef t2 笔记 t1 数组 printf

typdef定义数组后的初始化 | 计算机内部只知晓地址,类型为上层的高级语义

#include <stdio.h>

typedef int ARR_INT_2[2];

void test(ARR_INT_2 *t)
{
    int *t1;
    int *t2;

    t1 = &(((int*)t)[0]);
    t2 = &(((int*)t)[1]);

    printf("t1 addr - %p\n", t1);
    printf("t2 addr - %p\n", t2);

    *t1 = 3;
    *t2 = 4;
}

int main()
{
    ARR_INT_2 a;

    a[0] = 1;
    a[1] = 2;

    printf("a[0] addr - %p\n", &a[0]);
    printf("a[1] addr - %p\n", &a[1]);

    test(&a);

    printf("a[0] val - %d\n", a[0]);
    printf("a[1] val - %d\n", a[1]);

    return 0;
}

输出结果:

a[0] addr - 0x7ffc03144fd8
a[1] addr - 0x7ffc03144fdc
t1 addr - 0x7ffc03144fd8
t2 addr - 0x7ffc03144fdc
a[0] val - 3
a[1] val - 4

标签:addr,val,int,typdef,t2,笔记,t1,数组,printf
From: https://www.cnblogs.com/stellarbin/p/17575354.html

相关文章

  • css 笔记
    一、inline-block与overflow:hidden的冲突inline-block元素设置overflow:hidden后,其本身会上移解决方法:在该元素或其父元素上设置  vertical-align:bottom;原因解释:inline-block元素被设置oveflow非visible后,其baseline被强制修改为元素下外边沿,该元素将底部......
  • Python如何输出二位数组
    在Python中,二维数组通常使用嵌套的列表来表示。输出二维数组可以使用循环遍历的方法,将每个元素逐个打印出来。下面是一个示例代码,演示了如何输出一个二维数组:#定义一个二维数组matrix=[[1,2,3],[4,5,6],[7,8,9]]#使用两层循环遍历二维数组fo......
  • 搜索笔记
    搜索双向搜索双向同时搜索定义:双向同时搜索的基本思路是从状态图上的起点和终点同时开始进行BFS和DFS。如果发现搜索的两端相遇了,那么可以认为是获得了可行解。模版实现:if(start==finish)return0;初始化visited数组里每个值为0;//这里visited值为1则为向后搜......
  • 3b1b 线性代数本质 学习笔记
    导航向量基向量特征向量矩阵行列式逆矩阵矩阵与方程组秩满秩列空间零空间核点积叉积基变换向量空间中的箭头\(\vec{v}\)可以自由移动/一般以原点为起点有序的数字列表\(\begin{bmatrix}a\\\vdots\\b\end{bmatrix}\)相加相乘有意义的东西......
  • C#学习笔记 —— LINQ
    LINQ1、什么是LINQ使用LINQ可以轻松查询对象集合LINQ代表语言集成查询LINQ是.NET框架的扩展,允许我们使用SQL查询数据库的类似方式来查询数据集合LINQ可以从数据库、对象集合、XML文档中查询数据2、LINQ提供程序对于每一种数据源类型,一定有根据该数据源类型实现LI......
  • 在尚硅谷学习docker 笔记
    尚硅谷docker学习笔记1.docker简介(基础篇)2.docker的安装3.docker的常用命令3.1帮助启动类命令3.2镜像命令3.3容器命令4.对docker镜像的深入理解4.1镜像的一些重要概念4.2docker镜像commit操作案例4.3本地镜像发布到阿里云/私有库5.docker容器数据卷(实现持久......
  • 差分数组
    差分数组的主要适用场景是频繁对原始数组的某个区间的元素进行增减。比如说,我给你输入一个数组 nums,然后又要求给区间 nums[2..6] 全部加1,再给 nums[3..9] 全部减3,再给 nums[0..4] 全部加2,再给...一通操作猛如虎,然后问你,最后 nums 数组的值是什么?常规的思路很容易,......
  • java 判断数字是否存在数组内
    Java判断数字是否存在数组内在Java中,我们经常需要判断一个数字是否存在于一个数组中。这种情况在编程中经常会遇到,无论是查找某个元素是否存在,还是计算某个特定值的出现次数。在本文中,我们将介绍几种常见的方法来判断数字是否存在于数组内,并给出相应的代码示例。方法一:使用循环......
  • java 全局数组
    如何实现Java全局数组引言在Java中,全局数组是指在整个程序中都可以访问的数组。开发者通常需要在多个方法或类中使用同一个数组时,就可以使用全局数组。本文将介绍如何实现Java全局数组,并提供详细的步骤和代码示例。步骤下面是实现Java全局数组的步骤,我们可以通过表格来展示:......
  • java 去除数组中的空格
    Java去除数组中的空格在Java编程中,经常会遇到需要处理数组的情况。有时候我们会遇到数组中包含空格的情况,这会对我们的处理逻辑带来一定的困扰。本文将介绍如何使用Java语言去除数组中的空格,并提供代码示例供参考。为什么要去除数组中的空格数组是一种常用的数据结构,它可以存储......