数组类型、数组类型指针、数组指针变量
typedef int (MyarrayType)[5]; MyarrayType myArray; ==》 int myArray[5];
定义数组类型
/** myArray.c **/ #include<stdio.h> int main() { typedef int (MyArrayType)[5]; MyArrayType myArray; int i; for(i = 0; i < 5; i++) { myArray[i] = i + 1; } for(i = 0; i < 5; i++) { printf("%d ",myArray[i]); } return 0; }
数组指针 用一个指针变量指向一个数组
方法1:定义数组指针变量的方法—用(数组类型 *) 定义
/** pArray.c **/ #include<stdio.h> int main() { typedef int (MyArrayType)[5]; //定义了一个数据类型 MyArrayType myArray; //int myArray[5] 用类型定义变量 MyArrayType *pArray; //定义了一个指针变量,这个指针变量指向了一个数组 int myArray2[5]; //相当于一级指针 for(int i = 0; i < 5; i++) { myArray2[i] = i + 1; } pArray = &myArray2; //相当于二级指针 for(int i = 0; i < 5; i++) { printf("%d ",(*pArray)[i]); } return 0; }
方法2:直接声明数组类型指针
#include<stdio.h> int main() { //定义声明一个数组指针类型 typedef int (*PArrayType)[5]; PArrayType pArray; //告诉编译器 给我分配一个指针变量 int c[5]; pArray = &c; for(int i = 0; i < 5; i++) { (*pArray)[i] = i + 1; } for(int i = 0; i < 5; i++) { printf("%d ",(*pArray)[i]); } return 0; }
定义数组指针变量的第三中方法:
前两种方法通过类型定义变量
#include<stdio.h> int main() { int (*pMyArray)[5]; //直接定义一个指向数组的数组指针变量 int c[5]; pMyArray = &c; for(int i = 0; i < 5; i++) { (*pMyArray)[i] = i + 1; } for(int i = 0; i < 5; i++) { printf("%d ",(*pMyArray)[i]); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)