数组指针和指针数组

引用:【数组指针】 仅此一篇 让你深刻理解数组指针-CSDN博客

b站:【动画讲解C语言指针-14-数组指针和指针数组】 https://www.bilibili.com/video/BV1Qj421U75U/?share_source=copy_web\&vd_source=d59dcee6044af8fc880b46b581c3f58a

指向数组和指向数组首元素的地址是两码事

数组指针:本质是一个指针

普通指针指向变量

数组指针指向数组

所以数组指针实际上是数组首地址的地址

数组指针指向数组的首地址 是和数组有关联,不仅仅是指向数组首元素的地址 指向整个数组

复制代码
#include<stdio.h>

int main()
{
	int(*py)[3];//py是一个指针 指向一个数组
	int a[3] = { 1, 2, 3 };
	int i = 0;

	py = &a;//这里将py指向数组a
	for (i = 0; i <= 2; i++)
	{
		printf("py=%p  *(py)=%p  **(py)=%d  &a[i]=%p  a[i]=%d\n",
			(py), *(py), *(*(py)), &a[i], a[i]);
		if (i == 0)
	        (int*) py = (int*)py + (i + 1);
        else
	        (int*) py = (int*)py + i;
	}
	return 0;

}

这里py指向了数组a,同时a这个数组名的地址也是数组的地址。

(int *)py=(int *)py+1; 是将指针指向数组的下一位,即指向数组a的第二位。

*py+i是指在数组中的某一位的地址。

*(*py+i)是指某一位地址存储的值。

相关推荐
复杂网络4 小时前
多个 Claude Code 与多个 Codex 协同工作:设计与实现方案
算法
HjhIron19 小时前
面试常客:字符串算法从入门到进阶
算法·面试
吴佳浩21 小时前
DeepSeek DSpark:Confidence-Scheduled Speculative Decoding 技术解析
人工智能·算法·deepseek
触底反弹1 天前
🧠 搞懂 Token,才算真正入门大模型——从分词原理到 Embedding 语义实战
javascript·人工智能·算法
vivo互联网技术1 天前
ICLR 2026 | 基于后验采样的图像恢复方法LearnIR:人脸去阴影、去雾
人工智能·算法·aigc
浮生望1 天前
JS字符串与回文算法:从包装类到双指针的面试进阶之路
javascript·算法
黄敬峰1 天前
面试必刷:从JS底层包装类到双指针,彻底搞懂字符串与回文算法
算法
地平线开发者2 天前
J6B vio scenario sample
算法
BothSavage2 天前
Trae远程开发中DeepSeek自定义模型4054错误的排查与修复
算法