热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:一题诠释C语言指针与数组

篇首语:本文由编程笔记#小编为大家整理,主要介绍了一题诠释C语言指针与数组相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了一题诠释C语言指针与数组相关的知识,希望对你有一定的参考价值。













0
1



C语言经典试题











本文主要介绍的是C语言指针知识,希望对于广大读者学习C语言有一些帮助。深入了解C语言指针小知识,先看题算结果:








题目源码



































#include#include#includeint main(){ int array[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; int(*pArray)[4] = array; printf("%d ", *(pArray[0] + 1)); printf("%d ", **(pArray + 1)); pArray++; printf("%d ", *(*pArray + 1)); system("pause"); return 0;}













指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分,这道题目就很有效的考验了一个人对于指针的运算与C语言数组的掌握。






































知识解析





主要使用到的知识如下:




  1. C语言数组指针: 一个指向数组的指针


  2. C语言中指针如何表示二维数组


  3. C语言指针的的运算: p+n的理解
































数组指针


































指针
表示一维数组





一维数组中有如下重点:



一题诠释C语言指针与数组

当一级指针p指向数组array时,*(p+i)等效于array[i] 等效于p[i]


二维数组中有如下重点:



一题诠释C语言指针与数组




























C语言指针运算






指针p+n 解释为: p+sizeof(指针所指向的类型)*n;说到这里不得不讲下C语言指针中的两个重要类型了。如果存在指针 int *p 则有如下两个类型:





  1. 指针的类型: 去掉变量 ,剩下的就是类型,故是 int *;




故对于 int(*p)[3] 的p+1操作 应该理解为:p+sizeof(int[3])*1




一题诠释C语言指针与数组





题目分析



#include
#include
#include<string.h>
int main()
{
int  array[3][4] =
{   1, 2, 3,4,
   5, 6, 7,8,
 9, 10, 11, 12
};
int(*pArray)[4] = array;
printf("%d ", *(pArray[0] + 1));
printf("%d ", **(pArray + 1));
pArray++;
printf("%d", *(*pArray + 1));
system("pause");
return 0;
}

*(pArray[0] + 1))代表 array[0][1] ,故打印2;





























运行测试






一题诠释C语言指针与数组


一题诠释C语言指针与数组





今日结语




文章都是手打原创,每天最浅显的C语言、C++,windows知识,如果足下基础比较差,不妨关注下,人人都可以学习的视频教程,通俗易懂,深入浅出,一次只讲一个知识点。不深奥,不需要钻研,在公交、在地铁、在厕所都可以观看,随时随地涨姿势。喜欢我的文章就关注一波吧,可以看到最新更新和之前的文章哦。
















一题诠释C语言指针与数组






一题诠释C语言指针与数组



微信号:coolmoying


今日头条:C语言基础


-扫码关注我-









































推荐阅读
author-avatar
国贞馨清
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有