C语言 数组指针 - C语言零基础入门教程

目录

  • 一.简介
    • 1.数组
    • 2.指针
    • 3.指针和数组区别
  • 二.数组指针
  • 三.猜你喜欢

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

一.简介

1.数组

数组中的每个元素都有一个序号,这个序号从 0 开始,称为下标index,例如,a[0] 表示第 1 个元素,a[3] 表示第 4 个元素。数组是一个整体,它的内存是连续的,内存示意图:

2.指针

指针很灵活,它可以指向任意类型的数据。指针的类型说明了它所指向地址空间的内存,以下是有效的指针声明:

int    *p;    /* 一个整型的指针 */
double *p;    /* 一个 double 型的指针 */
float  *p;    /* 一个浮点型的指针 */
char   *p;    /* 一个字符型的指针 */

注意:不要忘记在指针类型和变量名中间还有一个 * 号,没有这个 * 号,只是定义了一个普通变量,这也是普通变量声明和指针声明的区别之一;

3.指针和数组区别

指针和数组区别这里不再继续啰嗦,可以直接参考文章:指针和数组区别

二.数组指针

数组指针:它实际上是一个指针,该指针指向一个数组。

int (*arr)[5];
//由于[]的优先级比*高,因此在写数组指针的时候必须将*arr用括号括起来
//arr先和*结合,说明arr是一个指针变量
//这句话的意思就是:指针arr指向一个大小为5个整型的数组。

int(*arr)[5] 表示指针 arr 指向一个大小为 5 个整型的数组,如下图:

C语言 数组指针

示例代码如下:

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 数组定义和使用
//@Time:2021/06/19 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************///一维数组
int a[5] = { 1, 2, 3, 4, 5 };
//步长为5的数组指针,即数组里有5个元素
int (*p)[5];
//把数组a的地址赋给p,则p为数组a的地址,则*p表示数组a本身
p = &a;//%p输出地址, %d输出十进制
//\n回车
//在C中,在几乎所有使用数组的表达式中,数组名的值是个指针常量,也就是数组第一个元素的地址,它的类型取决于数组元素的类型。
printf("%p\n", a); //输出数组名,一般用数组的首元素地址来标识一个数组,则输出数组首元素地址
printf("%p\n", p); //根据上面,p为数组a的地址,输出数组a的地址
printf("%p\n", *p); //*p表示数组a本身,一般用数组的首元素地址来标识一个数组
printf("%p\n", &a[0]); //a[0]的地址
printf("%p\n", &a[1]); //a[1]的地址
printf("%p\n", p[0]); //数组首元素的地址
printf("%d\n", **p); //*p为数组a本身,即为数组a首元素地址,则*(*p)为值,当*p为数组首元素地址时,**p表示首元素的值1
printf("%d\n", *p[0]); //根据优先级,p[0] 表示首元素地址,则*p[0]表示首元素本身,即首元素的值1
printf("%d\n", *p[1]); //为一个绝对值很大的负数,不表示a[1]...表示什么我还不知道//二维数组
int a[4][5];int (*p)[5]=a;//指针p指向一个大小为5个整型的数组
*(p+i)是一维数组a[i][0]的地址;
(p+2)+3表示a[2][3]地址(第一行为0行,第一列为0列);
*(*(p+2)+3)表示a[2][3]的值;

三.猜你喜欢

  1. 安装 Visual Studio
  2. 安装 Visual Studio 插件 Visual Assist
  3. Visual Studio 2008 卸载
  4. Visual Studio 2003/2015 卸载
  5. C 语言逻辑运算符
  6. C 语言三目运算符
  7. C 语言逗号表达式
  8. C 语言 sizeof 和 strlen 函数区别
  9. C 语言 strcpy 和 strcpy_s 函数区别
  10. C 语言 memcpy 和 memcpy_s 区别
  11. C 语言 数组定义和使用
  12. C 语言 数组遍历
  13. C 语言 数组下标越界
  14. C 语言 数组内存溢出
  15. C 语言 数组下标越界和内存溢出区别
  16. C 语言 二维数组定义和使用
  17. C 语言 二维数组行数和列数计算
  18. C 语言 指针声明和定义
  19. C 语言 指针 p++ / p–
  20. C 语言 p++/§++/_(p++)/_p++
  21. C 语言 使用指针遍历数组
  22. C 语言 指针和数组区别
  23. C 语言 数组指针
  24. C 语言 指针数组

未经允许不得转载:猿说编程 » C 语言 数组指针

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spark+Alluxio性能调优十大技巧

戳蓝字“CSDN云计算”关注我们哦!由于统一访问对象存储(如S3)和HDFS数据的场景的出现和普及,Apache Spark结合Alluxio的大数据栈越来越受欢迎。此外,越来越流行的计算与存储分离的架构导致计算端查询延迟增大。因此&am…

jq(jquery)之点击隐藏段落

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>点击p段落&#xff0c;把它们隐藏</title><script src"https://code.jquery.com/jquery-3.4.1.min.js"></script><scr…

C语言 指针数组和数组指针区别 - C语言零基础入门教程

目录 一.简介 1.数组2.指针3.指针和数组区别 二.指针数组和数组指针区别 1.指针数组2.数组指针 三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.简介 1.数组 数组中的每个元素都有一个序号&#xff0c;这个序号从 0 开始&#xff0c;称为下…

BugkuCTF-MISC题FileStoragedat

知识点 FileStorage是微信存储数据的一个文件夹&#xff0c;该文件夹下存放的是经过加密后微信里发送、接受的图片而形成的文件后缀为dat的文件。就是微信dat文件。想要做出此题&#xff0c;就得先弄懂微信dat文件形成的原因。 微信的dat文件&#xff0c;将微信图片的各字节通…

jq之语法

语法&#xff1a;$(selector).action() 例子&#xff1a; $(this).hide(); 隐藏当前元素 $("p").hide(); 隐藏所有段落 $("p.test").hide();隐藏所有class"test"的段落 $("#test").hide();隐藏所有id"test"的元素 2.防…

官宣!张小龙史上最长演讲 4小时3万字完整版回应微信的一切

戳蓝字“CSDN云计算”关注我们哦&#xff01;文章来自&#xff1a;腾讯科技&#xff08;ID:qqtech)腾讯科技讯 1月9日消息&#xff0c;在今日举行的2019微信公开课PRO的微信之夜上&#xff0c;腾讯公司高级执行副总裁、微信事业群总裁张小龙做了他自己有史以来最长的一次演讲&a…

C语言 空指针 NULL - C语言零基础入门教程

目录 一.指针简介二.空指针 NULL三.关于 NULL 和 0四.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.指针简介 在前面的文章有关于指针的介绍&#xff1a;指针很灵活&#xff0c;它可以指向任意类型的数据。指针的类型说明了它所指向地址空间…

Python os模块相关简介

Python里os.path.isdir()等函数的作用和用法 一 用法和概念&#xff1a; Python里的os模块用于和系统进行交互&#xff0c;其里&#xff1a; &#xff11; os.listdir()用于返回一个由文件名和目录名组成的列表&#xff0c;需要注意的是它接收的参数需要是一个绝对的路径。 …

jq之元素选择器

1.$("p")选取所有<p>元素 2.$("#test")选取id为test的元素&#xff0c;因id是唯一的选的就是唯一的 3.$(".test")选取class为test的所有元素 4.css选择器 $("p").css("color","red");把所有p元素的颜色…

C语言 void 指针 - C语言零基础入门教程

目录 一.指针简介二.空指针 NULL三.void 指针四.重点总结五.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.指针简介 在前面的文章有关于指针的介绍&#xff1a;指针很灵活&#xff0c;它可以指向任意类型的数据。指针的类型说明了它所指向地…

有问有答 | 容器精华问答,如何玩转容器服务?

戳蓝字“CSDN云计算”关注我们哦&#xff01;容器这个词&#xff0c;当你第一眼看它或许脑子里是这东西&#xff1a;瓶瓶罐罐、装水、装其他东西的玩意。不管是什么&#xff0c;总的来说&#xff0c;容器给人第一印象就是——“装”。容器技术作为近两年热门的话题&#xff0c;…

BugkuCTF-WEB题文件上传

启动场景 发现是文件上传 只能上传图像&#xff0c;不能上传PHP文件&#xff0c;那应该是寻找漏洞上传PHP文件 PHP文件里写入一句话木马 <?php eval($_POST[caidao]);?> 使用burp抓包&#xff0c;不断尝试发现发现需要修改的地方有三个&#xff1a; 一个是http head里…

jq之$(“*“)隐藏所有元素

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>点击p段落&#xff0c;把它们隐藏</title><!--线上jq库--><script src"https://code.jquery.com/jquery-3.4.1.min.js">&…

C语言 野指针 - C语言零基础入门教程

目录 一.简介二.野指针产生的原因 1.指针变量未初始化2.指针释放后之后未置空 三.避免野指针产生 1.初始化时置 NULL2.释放时置 NULL 四.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.简介 野指针就是指针指向的位置是不可知的&#xff08;随…

阿里云获ITSS最高等级认证:公共云、专有云服务能力双一级

近日&#xff0c;阿里云在由ITSS&#xff08;中国电子工业标准化技术协会信息技术服务分会&#xff09;颁发的云计算服务能力标准评选中获公共云、专有云双一级资质&#xff0c;这也是该标准评选中的最高等级。 云计算服务能力评估由工信部信软司牵头&#xff0c;委托ITSS围绕…

C语言 函数声明和定义 - C语言零基础入门教程

目录 一.简介二.函数返回值 1.函数没有返回值2.函数有返回值 三.函数参数 1.函数没有参数2.函数有固定参数3.函数有不定长度参数 四.函数声明和定义 1.函数声明&#xff1a;不需要实现这个函数的功能2.函数定义&#xff1a;必须实现这个函数的功能 五.猜你喜欢 零基础 C/C 学习…

jq之$(“p.test“)

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>jq之demo</title><!--线上jq库--><script src"https://code.jquery.com/jquery-3.4.1.min.js"></script><scrip…

C语言 函数声明和调用 - C语言零基础入门教程

目录 一.简介二.函数声明和定义 1.函数声明&#xff1a;不需要实现这个函数的功能2.函数定义&#xff1a;必须实现这个函数的功能 三.函数调用四.函数形参和实参五.猜你喜欢 零基础 Python 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.简介 回顾以下学习C 语言的…

jq之$(“p:first“)

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>jq之demo</title><!--线上jq库--><script src"https://code.jquery.com/jquery-3.4.1.min.js"></script><scrip…

要闻君说:IBM最新量子计算机真真像个艺术品!鹅厂正式成立了自己的技术委员会哇!联想竟然也试着做了一款智能闹钟?...

关注并标星星CSDN云计算每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 嗨&#xff0c;大家好&#xff01;盼望着、盼望着&#xff0c;周五已到&#xff01;今天又有什么新鲜事儿呢&#xff1f;依旧抢先听个歌曲陶冶下&#xff0c;再容头条君慢慢道来&am…