小工具      在线工具  汉语词典  dos游戏  css  js  c++  java

c语言指针对数组的引用

程序、数据结构与算法,c语言,开发语言 额外说明

收录于:18天前

数组是C语言中常用的数据结构,其定义如下:

//声明式定义
int b[10];
b[0] = 1;
printf("%d",b[0]);

//初始化定义
int c[] = {
    1,2,3};

//内存定义
int *p = (int*)malloc(sizeof(int));

前两个定义可以直接引用下表,如b[0]、c[1]。但第三种是动态定义数组。得到的是数组的指针,也就是数组的地址。那么如何使用这个类型呢?

首先是数组指针,C语言允许为数组定义指针。数组指针具有以下属性:

  1. 指针指向数组第一个元素的地址
  2. 指针地址按元素类型的大小累加
  3. 数组上的指针操作与下表中的操作完全等效。
int a[10] = {
    };

在定义一个指向数组的指针时,需要注意的是,该指针指向的是数组的首地址。数组的名称代表数组的首地址。

int *p = a;

&a[0]也表示数组的首地址,因此也可以使用:

int *p = &a[0];

不能使用int *p = &a;这种是基本数据类型指针初始化方法,对数组不适用,因为数组首地址就是数组名称=。

当指针指向数组元素时,使用指针的引用方法有两种:

  1. 地址参考
int a[10] = {
    };

int *p = a;

a[i] = *(p+i);

//p+i 是下表为i的地址;
  1. 价值参考
int *p = a;*p = a[0];

//p和a是完全等价的。

a[i] = p[i];
. . .

相关推荐

额外说明

Android 中级 – 屏幕和绘图

屏幕和绘图 屏幕 系统屏幕密度 独立像素密度dp 单位转换 XML绘图(需放在Drawable) bitmap nine-patch shape layer-list selector level-list transition inset scale

额外说明

软件考试_软件设计师_计算机基础笔记概念

计算机系统基础知识 计算机系统硬件组成 1.CPU(Central Processing Unit)中央处理单元包含: 运算器,控制器,存储器,输入设备,输出设备 2.CPU的功能: (1)程序控制 (2)操作控制 (3)时间控制 (4)数据处理 3.

额外说明

JAVA06_Optional类概述、初始化、常用方法、最佳实践

文章目录 ①. Optional类的概述 ②. 初始化Optional类 ③. 判断对象是否存在 ④. 获取Optional容器的对象 ⑤. Optional的过滤和映射 ⑥. 什么场景用Optional ①. Optional类的概述 ①. 到目前为止

额外说明

Ubuntu关于串口的操作(查看串口信息、串口助手、串口权限)

一、查看本机串口信息 1. 串口是否在使用 串口在 /dev 目录中,查看串口是否在使用,可以用命令 ls -l /dev/ttyUSB0 说明: ls -l:是查看目录的命令,直接用ls或ll也可以。 ttyUSB0:是串口名,一般都是tty开头,

额外说明

小白入门必学 | 一文带你快速了解计算机视觉

前言:Hello大家好,我是小哥谈。计算机视觉是人工智能领域中的一个重要分支,通过使用算法和模型来使计算机能够理解和解释图像和视频数据。本文将介绍计算机视觉的基本概念、实现原理、8 个任务和 4 个生活中常见的应用场景。-      目录 -1.计算机视

额外说明

VC++使用URI Scheme实现从web网页上打开本地C++应用程序(附源码)

目录 1、需求描述 2、选择URI Scheme实现 3、何为URI Scheme? 4、将自定义的URL

额外说明

我曾经七次鄙视自己的灵魂

我曾经七次鄙视自己的灵魂 第一次,当它本可进取时,却故作谦卑; 第二次,当它在空虚时,用爱欲来填充; 第三次,在困难和容易之间,它选择了容易; 第四次,它犯了错,却借由别人也会犯错来宽慰自己; 第五次,它自由软弱,却把它认为是生命的坚韧; 第六次,当它鄙

额外说明

二级VB培训笔记08:公共基础知识

二级VB培训笔记08:公共基础知识 一、公共基础思维导图

额外说明

实施Microsoft Dynamics 365 CE-2. 实施方法,解释不同的项目实施方法。

本章将帮助您了解什么是项目以及我们如何管理项目。在这里,您将学习高级项目管理活动。除此之外,我们还将讨论项目管理方法以及我们为什么需要它们。我们还将了解不同的、常用的项目管理方法,如瀑布、敏捷、Scrum、功能驱动开发、DevOps和Microsoft

额外说明

Windows系统缺少ndfetw.dll文件导致程序无法启动问题

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个ndfetw.dll文件(挑

ads via 小工具