当前位置: 首页 > news >正文

深入理解指针(4)

1.二级指针

如何理解呢?

1.pp的类型是int * * ——二级指针类型

2.p指向a,a的类型是int

3.int * * pp 其中 int * 在说明 pp 是指向 p 的类型 int * ,第二个 * 说明 pp 是指针变量

4.p + 1 跳过 4 个字节 , pp + 1 跳过 4 或者 8 个字节(要看对应的指针变量是多少)

由图可见,打印的是一样的

2.指针数组

存放指针的数组

int * arr[]

char * []

double * []

指针数组的每一个元素是地址,又可以指向一块区域

3.指针数组模拟二维数组

其中对于 arr[i][j] 编译器会当作*(*(arr+i)+j)  ——  指针运算!

其中所用到的代码如下:

#define _crt_secure_no_warnings 1
#include <stdio.h>
//void Print(int n)
//{
//	if (n > 9)
//	{
//		Print(n / 10);
//	}
//	printf("%d ", n % 10);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	Print(n);
//	return 0;
//}//int main()
//{
//	int a = 10;
//	int* p = &a;
//	//p是一级指针
//	int** pp = &p;
//	//pp是二级指针
//	printf("%p\n", *pp);
//	printf("%p", &a);
//	return 0;
//}int main()
{int arr1[] = { 1,2,3,4,5 };int arr2[] = { 2,3,4,5,6 };int arr3[] = { 3,4,5,6,7 };int* arr[] = { arr1,arr2,arr3 };//打印数组int i = 0;for (i = 0; i < 3; i++){int j = 0;for (j = 0; j < 5; j++){printf("%d ", arr[i][j]);}printf("\n");}return 0;
}

http://www.xdnf.cn/news/134857.html

相关文章:

  • Centos7.2安装Xmap
  • 【git#4】分支管理 -- 知识补充
  • 【AI落地应用实战】借助 Amazon Q 实现内容分发网络(CDN)CDK 构建的全流程实践
  • 图像预处理-图像亮度变换
  • U8G2在PC端模拟(C语言版本)
  • 【神经网络与深度学习】训练集与验证集的功能解析与差异探究
  • 【器件专题1——IGBT第1讲】IGBT:电力电子领域的 “万能开关”,如何撑起新能源时代?
  • deepseek-r1-671B满血版,全栈式智能创作平台 - 多模态大模型赋能未来创作
  • 云服务器centos 安装hadoop集群
  • pcd2pgm的launch文件实现
  • 使用yolo用python检测人脸
  • 第三方库与工具:响应式编程RxJava与Flow原理剖析
  • Video-LLaVA
  • Milvus(7):Schema、主字段和自动识别
  • 新!在 podman-machine-default 中安装 CUDA、cuDNN、Anaconda、PyTorch 等并验证安装
  • html中margin的用法
  • express的模板handlebars用app.engine()创建配置和用exphbs.create()的区别
  • 汽车零配件供应商如何通过EDI与主机厂生产采购流程结合
  • 单机无穷大系统暂态稳定性仿真Matlab模型
  • 全球玻璃纸市场深度洞察:环保浪潮下的材料革命与产业重构(2025-2031)
  • C++ 类及函数原型详解
  • HTML word属性
  • 巴西kwai短视频推广旅游广告获客营销策略
  • 如何本地无损放大图片保持高清画质
  • 【C++基础知识】折叠表达式详解--结合上一篇
  • OpenWrt 与 Docker:打造轻量级容器化应用平台技术分享
  • iphonex uniapp textarea标签兼容性处理过程梳理
  • 再谈String
  • 【HTTP/2和HTTP/3的应用现状:看不见的革命】
  • 【linux】Chrony服务器