在线课程网站开发价格,新楼盘网站模板,做任务分享赚钱的网站,流量对网站的作用目录
一.简介 1.数组2.指针3.指针和数组区别 二.数组指针三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 C 语言基础入门 一.简介
1.数组
数组中的每个元素都有一个序号#xff0c;这个序号从 0 开始#xff0c;称为下标index#xff0c;例如#xff0c;…目录
一.简介 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 个整型的数组如下图 示例代码如下
/******************************************************************************************/
//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个整型的数组
*(pi)是一维数组a[i][0]的地址;
(p2)3表示a[2][3]地址(第一行为0行第一列为0列);
*(*(p2)3)表示a[2][3]的值;三.猜你喜欢
安装 Visual Studio安装 Visual Studio 插件 Visual AssistVisual Studio 2008 卸载Visual Studio 2003/2015 卸载C 语言逻辑运算符C 语言三目运算符C 语言逗号表达式C 语言 sizeof 和 strlen 函数区别C 语言 strcpy 和 strcpy_s 函数区别C 语言 memcpy 和 memcpy_s 区别C 语言 数组定义和使用C 语言 数组遍历C 语言 数组下标越界C 语言 数组内存溢出C 语言 数组下标越界和内存溢出区别C 语言 二维数组定义和使用C 语言 二维数组行数和列数计算C 语言 指针声明和定义C 语言 指针 p / p–C 语言 p/§/_(p)/_pC 语言 使用指针遍历数组C 语言 指针和数组区别C 语言 数组指针C 语言 指针数组
未经允许不得转载猿说编程 » C 语言 数组指针