【C 语言】数组 ( 数组指针 | 数组指针定义 | 使用 数组类型* 定义数组指针 )
文章目录
- 总结
- 一、使用 数组类型* 定义数组指针
- 二、完整代码示例
总结
typedef int(ArrayType)[3];ArrayType *p = NULL;
一、使用 数组类型* 定义数组指针
数组类型指针 就是 定义一个指针 , 指向数组首地址 ;
使用 数组类型* 定义数组指针 ,
首先 , 定义数组类型 别名 ,
typedef int(ArrayType)[3];
然后 , 使用别名类型 , 声明数组变量 ,
ArrayType array2 = {0};
最后 , 声明一个指针 , 将 array2 变量地址赋值给该指针 , 指针指向的数据类型为 int[3] 数组类型的变量 array2 ;
ArrayType *p = NULL;p = &array2;
验证上述 定义的数组指针 :
为 数组元素 赋值 ,
// 为数组赋值int i = 0;for(i = 0; i < 3; i++){array2[i] = i + 1;}
使用 数组指针 , 打印数组元素内容 :
// 使用 数组指针 访问数组中的值for(i = 0; i < 3; i++){printf("%d\n", (*p)[i]);}
二、完整代码示例
代码示例 :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main()
{// 指针数组 , 数组元素是指针char *array = {"12", "ab", "34"};// 数组指针 , 使用指针变量指向数组// 使用 数组别名 定义数组指针// 首先 , 定义数组类型 别名typedef int(ArrayType)[3];// 然后 , 使用别名类型 , 声明数组变量ArrayType array2 = {0};// 最后 , 声明一个指针 , 将 array2 变量地址赋值给该指针// 指针指向的数据类型为 int[3] 数组类型的变量 array2ArrayType *p = NULL;p = &array2;// 为数组赋值int i = 0;for(i = 0; i < 3; i++){array2[i] = i + 1;}// 使用 数组指针 访问数组中的值for(i = 0; i < 3; i++){printf("%d\n", (*p)[i]);}// 命令行不要退出system("pause");return 0;
}
执行结果 :
【C 语言】数组 ( 数组指针 | 数组指针定义 | 使用 数组类型* 定义数组指针 )相关推荐
- c 语言字符串类型定义,C字符串类型定义
你不能在C中创建string类型的变量,因为"string"不是一个类型. 根据定义,"字符串"是"由第一个空字符终止并包括第一个空字符的连续字符序列 ...
- 动态语言,静态类型,强类型定义语言,弱类型定义语言,
1 动态语言和静态语言 通常我们所说的动态语言.静态语言是指动态类型语言和静态类型语言. 1 动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时 ...
- 编译型和解释型、动态语言和静态语言、强类型定义语言和弱类型定义语言
一.编译型与解释型语言 我们编写程序也就是源代码基本是用高级编程语言,比如JavaScript, java, c等等,这些语言计算机是不理解的,所以需要转化(翻译)成计算机理解的机器语言,或者说目标C ...
- PostgreSQL Oracle 兼容性 之 - PL/SQL record, table类型定义
背景 Oracle PL/SQL是非常强大的一门SQL编程语言,许多Oracle用户也使用它来处理一些要求延迟低且数据一致性或可靠性要求很高的业务逻辑. PostgreSQL也有一门非常高级的内置SQ ...
- Go 学习笔记(27)— type 关键字(类型定义、类型别名、类型查询、定义接口、定义结构体)
1. 类型别名定义 定义类型别名的写法为: type TypeAlias = Type 类型别名规定: TypeAlias 只是 Type 的别名,本质上 TypeAlias 与 Type 是同一个类 ...
- C语言数组类型、数组指针类型、数组指针类型变量
C语言数组类型.数组指针类型.数组指针类型变量 数组类型 数组指针类型 数组指针用于指向一个数组 数组指针:用数组类型加*定义一个数组指针 数组指针:定义一个数组指针类型,然后用类型定义变量 数组指针 ...
- C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例
C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例 目录 一.简单介绍 二.结构体定义和使用 三. ...
- 定义一个基本的银行账户类。在基本账户类的基础上派生出1年期定期账户、2年期定期账户、3年期定期账户和5年期定期账户。定义一个n个基类指针组成的数组,随机生成n个各类派生类的对象。让每个指针指向一个派生
定义一个基本的银行账户类.在基本账户类的基础上派生出1年期定期账户.2年期定期账户.3年期定期账户和5年期定期账户.定义一个n个基类指针组成的数组,随机生成n个各类派生类的对象.让每个指针指向一个派生 ...
- 定义一个二维数组,写函数来实现对该二维数组求最大值。(要求,用行指针为函数形参)
// 121219 上机任务3.cpp : 定义控制台应用程序的入口点. // /* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * ...
最新文章
- 《F# Deep Dives》书评与作者问答
- watir添加新标签
- 基础知识:IDE集成开发环境(pycharm)、基本数据类型、用户的交互、运算符
- 为人处事的一些小句子。
- vc设备工程师_4注册公用设备工程师专业基础考试真题.
- 从孙子算经到中国剩余定理
- [转载] Python程序将十进制转换为二进制,八进制和十六进制
- Learning-Python【1】:交互式环境与变量的使用
- 直通车怎么能不推广计算机设备,直通车智能推广具体怎么设置?如何操作?
- c语言 一元多项式展开括号,一元多项式Polynomial的C语言实现
- 洛谷P1600 天天爱跑步
- 2021-12-19 《聪明的投资者》学习笔记-15.积极型投资者的股票选择--7个标准。低市盈率,价格低于净流动资产
- 计算机无法连接到宽带,win10提示无法连接到宽带连接不能建立到远程计算机怎么解决...
- 设计不会崩溃的健康码系统
- 欧姆龙PLC远程上下载实际操作分享
- 选择大于努力,错失字节跳动数亿身价,含泪分享
- 小钱袋子php,小钱袋子评测:简单实用的记账系统
- 光复用技术中三种重要技术_三种复用技术
- 总结:会签任务一票否决
- 电子电气架构设计之三电系统设计