char型指针数组和数组指针(char *a[]和char (*a)[])赋值方法

2023-05-16

char型指针数组和数组指针赋值方法

    • 指针数组赋值
    • 数组指针赋值

指针数组赋值

指针数组是指所定义数组的每个数组元素都是一个相应数据类型的指针,开设空间的操作可以应用循环语句进行,例如:

char *p[10];

可以应用

for(i=0;i<10;i++)
{
	p[i]=(char *)malloc(sizeof(char)*N); //为每个指针申请开设N字符的存储空间
}

开设后,对于p的使用与二维数组的使用格式类似,可以有效的使用两个下标,

p[0][0]='A';

还可以像每个指针中赋值字符串:
p[2]="Beijing";
当然字符串长度应该小于N。

数组指针赋值

而数组指针,是指定义为指向某个固定大小顺序空间的指针,定义的格式如下:

char (*pa)[10]; //定义一个指向拥有10元素的字符数组的指针,
int (*p)[10];

应用格式可以参考下述程序,申请空间、赋值、输出后,可以观察到100被赋值到第五行第十个元素,指针可以像二维数组一样通过两个下标引用所申请开设的空间。

#include<stdio.h>
#include<stdlib.h>
void main()
{ 
	int (*p)[10];
	int i,j,k;
	p=(int(*)[10])malloc(sizeof(int(*)[10])*5); //申请开设5个单元,每个单元拥有10个连续空间
	p[4][9]=100;
	for(i=0;i<5;i++)
	{ 
		for(k=0;k<10;k++)
		{
			printf("%8d",p[i][k]);
		}
	printf("\n");
	}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

char型指针数组和数组指针(char *a[]和char (*a)[])赋值方法 的相关文章

  • shell脚本基础

    摘自 xff1a 一篇教会你写90 的shell脚本 1 注释 xff1a 单行注释 xff1a 多行注释 xff1a 注意第一种注释方法的 34 后面有一个空格 xff09 39 多行注释内容 39 lt lt block 多行注释内容
  • RT-thread 中CAN总线的应用

    准备 xff1a RT thread Studio 2 2 5 CubeMX 6 6 1 rt thread驱动包 4 0 3 1 新建项目 2 打开CubeMX Settings xff0c 设置CAN 找到CAN1 xff0c 并勾选激
  • Rt-thread的CAN应用2

    1 rtt中使能CAN1 2 CubeMX生成部分代码 xff0c 完成下面操作然后生成MDK ARM项目文件 3 将CubeMX生成的 HAL CAN MspInit 函数 粘贴到drv can c中 并在rt hw can init 函
  • STM32的IIC接口输入输出定义

    IO方向设置 PC11 端口 define SDA IN GPIOC gt CRH amp 61 0XFFFF0FFF GPIOC gt CRH 61 8 lt lt 12 define SDA OUT GPIOC gt CRH amp 6
  • 从头开始用树莓派做一个NAS【最新超详细教程】

    一 概述 众所周知在办公的时候两台电脑之间经常倒数据资料非常麻烦 xff0c 而NAS可以很好的解决这个问题 树莓派搭建NAS方法有很多 xff0c 我们之前也拍过直接用Samba FTP这些来实现NAS功能 xff0c 但是这些需要你会在
  • 串口发送通信---UART发送---STM32F4实现

    串口发送程序配置过程 xff08 HAL库 xff09 初始化串口相关参数 xff0c 使能串口 HAL StatusTypeDef span class token function HAL UART Init span span cla
  • 基于UDP的文件传输VS编程

    要求 xff1a 实现基于UDP的文件传输 xff0c 客户端发送文件 xff0c 服务端接受文件 服务端实现 xff1a include 34 stdafx h 34 include 34 iostream 34 include 34 a
  • 成功解决VSCODE运行C++的报错问题g++

    成功解决VSCODE运行C 43 43 的报错问题g 43 43 解决方案调试 很久写C 43 43 了 xff0c 直接打开C 43 43 写代码测试一下 xff0c 报错 xff0c 真一脸懵逼 捯饬很久 xff0c 解决了问题 解决方
  • linux下的环境变量

    环境变量 环境变量 xff0c 是指在操作系统中用来指定操作系统运行环境的一些参数 通常具备以下特征 xff1a 字符串 本质 有统一的格式 xff1a 名 61 值 值 值用来描述进程环境信息 存储形式 xff1a 与命令行参数类似 ch
  • 【004 关键字】extern “C“的作用是什么?

    一 extern 34 C 34 的作用 extern 34 C 34 关键字常用于C 43 43 和C混合编程中 xff0c 用于指定函数或变量采用C语言的命名和调用约定 加上extern 34 C 34 后 xff0c 会指示编译器这部
  • C++模板编程--学习C++类库的编程基础

    目录 一 函数模板二 类模板三 实现C 43 43 STL向量容器vector代码四 理解容器空间配置器allocator的重要性 一 函数模板 1 模板的意义 xff1a 对类型也可以进行参数化了 2 函数模板 lt 61 是不进行编译的
  • cmake 学习使用笔记(二)库的生成与使用

    学习使用cmake 生成及使用库 xff0c 使用cmake 生成 lib 静态库 及动态库 xff08 dll xff09 及linux 下使用的静态库 a 和 动态库 xff08 so 也称为共享库 xff09 目录 使用工具 生成库
  • cmake 学习使用笔记(五)手动编译

    目录 编译cmake 项目 构建 方式一 xff1a 可执行文件生成的在当前目录 方式二 xff1a 可执行文件生成只制定目录 记录一下手动编译 cmake 项目 编译cmake 项目 项目结构 注意 xff1a 必须要有一个 CMakeL
  • 四旋翼无人机学习第5节--STM32最小系统外围电路分析

    文章目录 1 芯片手册分析2 stm32的外部晶振手册分析2 stm32的外部上电复位手册分析3 电源放置方法4 GND放置方法5 其他元器件放置方法6 网络放置方法7 快捷键分享8 原理图绘制成果分享 快速使用芯片的最好的方式 xff0c
  • 现代C++单文件库(header only)

    nlohmann json https github com nlohmann json easyloggingpp https github com amrayn easyloggingpp
  • 一、ROS创建工作空间

    一 ROS创建工作空间 1 什么是工作空间2 创建工作空间3 编译工作空间4 创建功能包5 编译功能包 xff08 重新编译工作空间 xff09 6 设置环境变量7 运行节点 1 什么是工作空间 工作空间 xff08 workspace x
  • 二、ROS集成开发环境

    二 ROS集成开发环境 1 安装terminator2 安装VScode3 在VScode中使用ROS3 1 创建工作空间3 2 启动VScode3 3 配置VScode3 4 创建功能包3 5 编写C 43 43 文件3 6 配置CMak
  • 十一、Ubuntu18.04下VSCode配置C/C++编译环境

    十一 Ubuntu18 04下VSCode配置C C 43 43 编译环境 1 安装VSCode2 安装插件3 创建工程4 总结 1 安装VSCode 这一步就不谈了 2 安装插件 编译一些简单的cpp文件 xff0c 下面几个插件就够用了
  • 十五、Typora官方主题 + 自定义主题

    十五 Typora官方主题 43 自定义主题 1 下载官方主题2 在官方主题的基础上自定义 1 下载官方主题 首先去Typora官网下载自己喜欢的主题 xff1a 官方主题下载 例如我这里选择 Vue 我们只用到里面的两个主题文件vue c
  • linux---进程控制

    进程控制 fork函数 创建一个子进程 pid t fork void 失败返回 1 xff1b 成功返回 xff1a 父进程返回子进程的ID 非负 子进程返回 0 pid t vfork void 同样时创建一个子进程 xff0c 但是他

随机推荐