当前位置: 首页 > news >正文

C语言—什么是数组名

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>
int main()
{int arr[]={1,2,3,4};printf("%p\n",arr);printf("%p\n",&arr);printf("%p\n",*arr);return 0;
}

 结论:数组名是数组首元素地址(下标为0的元素是首元素)

例外:

1、sizeof(数组名),该数组数组名表示整个数组,sizeof计算数组大小,单位字节

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>
int main()
{int arr[10]={0};printf("%d\n",sizeof(arr));return 0;
}

 2、&(数组名),数组名代表整个数组,取出的是整个数组的地址

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>
int main()
{int arr[]={1,2,3,4};printf("%p\n",arr);printf("%p\n",&arr[0]);printf("%p\n",&arr);return 0;
}

 输出的结果是一样的,但是&(arr)的地址代表的是从第一个数组元素开始,分别+1发现输出结果不通,因为&arr+1输出的是数组的地址,而其他输出的是数组中首元素+1的元素地址(第二个元素地址)

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>
int main()
{int arr[]={1,2,3,4};printf("%p\n",arr);printf("%p\n",arr+1);printf("\n");printf("%p\n",&arr[0]);printf("%p\n",&arr[0]+1);printf("\n");printf("%p\n",&arr);printf("%p\n",&arr+1);return 0;
}

 

http://www.lryc.cn/news/245858.html

相关文章:

  • 如何与死锁斗争!!!
  • 【Java并发】聊聊不安全的HashMap以及ConcurrentHashMap
  • 数据结构--->单链表
  • RT-Thread 线程间同步【信号量、互斥量、事件集】
  • B 树和 B+树 的区别
  • Go iota简介
  • PyQt6库和工具库QTDesigner安装与配置
  • 性能测试:系统架构性能优化思路
  • python字符串格式化
  • Linux的基本指令(二)
  • 每日一题--寻找重复数
  • C#,《小白学程序》第二十二课:大数的乘法(BigInteger Multiply)
  • kafka,RabbitMQ,RocketMQ,他们之间的区别,架构,如何保证消息的不丢失,保证不重复消费,保证消息的有序性
  • uni-app中vue3+setup实现下拉刷新、上拉加载更多效果
  • 微服务实战系列之Nginx(技巧篇)
  • 好工具|datamap,一个好用的地图可视化Excel插件,在Excel中实现地理编码、拾取坐标
  • Java——继承
  • 十、sdl显示yuv图片
  • Docker Nginx容器部署vue项目
  • 【深度学习】如何找到最优学习率
  • 详解—C++三大特性——多态
  • 用idea搭建一个spring cloud微服务项目
  • SpringBoot——启动类的原理
  • Rust语言入门教程(七) - 所有权系统
  • 【MATLAB源码-第89期】基于matlab的灰狼优化算法(GWO)无人机三维路径规划,输出做短路径图和适应度曲线
  • 线程池的饱和策略有哪些?
  • Git设置多个仓库同时推送
  • 前端入职环境安装
  • 《金融科技行业2023年专利分析白皮书》发布——科技变革金融,专利助力行业发展
  • Introducing the Arm architecture