博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
指针进阶
阅读量:3916 次
发布时间:2019-05-23

本文共 738 字,大约阅读时间需要 2 分钟。

二维数组的指针形式

&a[0] 和 &a[0] [0] 等价

a + i //第i行的地址
*(a + i) //第i行首元素的地址
*(*a + i) //第i行首元素的值

a行元素数组的首地址–行地址–二级指针

*a首行第一个元素的地址–列地址–一级指针

下标表示法:a[ i ] [ j ]

指针表示法:* ( * (a + i) + j )
混合运用:* (a[ i ] + j)

使用二级指针方式改写查找奥运五环的位置

#include
#include
int main(){ int i; char *color [5] = {"red","blue","yellow","green","black"}; char **pc; char str[20]; pc = color; printf("给我一个颜色呗~"); scanf("%s", str); for(i = 0; i < 5; i++){ if(strcmp(str, *(pc + i)) == 0){ break; } } if(i < 5){ printf("报告主人发现目标:%d\n", i + 1); }else{ printf("很抱歉没有找到~\n"); } return 0;}

定义二维字符数组时必须指定列长度,可能会浪费单元

指针数组并不存放字符串,仅仅用数组元素指向各个字符串

char ccolor[][7] = {"red","blue","yellow","green","black"};char *pcolor[] = {"red","blue","yellow","green","black"};

转载地址:http://tovrn.baihongyu.com/

你可能感兴趣的文章
微服务畅想录
查看>>
引入Jaeger——扩展
查看>>
ASP.NET Core Controller与IOC的羁绊
查看>>
【Git】Git-常用命令备忘录(三)
查看>>
前端数据层落地实践
查看>>
如何实现 ASP.NET Core WebApi 的版本化
查看>>
使用 dotnet-monitor 分析.NET 应用程序
查看>>
探索 .Net Core 的 SourceLink
查看>>
AgileConfig-如何使用AgileConfig.Client读取配置
查看>>
【gRPC】 在.Net core中使用gRPC
查看>>
整合.NET WebAPI和 Vuejs——在.NET单体应用中使用 Vuejs 和 ElementUI
查看>>
老人言:尽量用异步
查看>>
“既然计划没有变化快,那制订计划还有个卵用啊!”
查看>>
C#实现网页加载后将页面截取成长图片
查看>>
C# 在自定义的控制台输出重定向类中整合调用方信息
查看>>
【gRPC】ProtoBuf 语言快速学习指南
查看>>
C# 9 新特性 —— 补充篇
查看>>
Asp.Net Core使用Skywalking实现分布式链路追踪
查看>>
浅谈CLR基础知识
查看>>
Xamarin使XRPC实现接口/委托远程调用
查看>>