社区
C语言
帖子详情
一个关于二维数组名与指针赋值的问题
jiangweijia
2003-06-03 12:56:29
二维数组名究竟可以赋给哪些类型的指针?为什么可以赋给指向一维数组的指针?
...全文
298
5
打赏
收藏
一个关于二维数组名与指针赋值的问题
二维数组名究竟可以赋给哪些类型的指针?为什么可以赋给指向一维数组的指针?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
three1103
2003-06-03
打赏
举报
回复
因为a是一个二维指针,p则是一个一维的指针,类型不一样呀,
如果定义:int a[3][4],**p;
则可以:p=a;*p=a[1];*p=a[2];**p=a[2][2];等等的.
jiangweijia
2003-06-03
打赏
举报
回复
但是如果只是这么简单的话,那么又怎么解释:int a[3][4],*p;
将p=a却不可以
zw741027
2003-06-03
打赏
举报
回复
同意楼上说的指针数组名称实际上都是指针,至于指针实际上是一个整数,将指针赋给什么变量实际上取决于你想对这段地址进行何种操作,比如希望一个字节一个字节的访问,尽管将该地址赋给一个char类型的指针好了,如果希望按照整数(4个字节),同样可以赋给一个整型指针,还有赋给一个自定义结构类型指针,如果希望按照该结构进行操作。
code-is-poetry
2003-06-03
打赏
举报
回复
刚才打字错误,应该是编译,不是变异
code-is-poetry
2003-06-03
打赏
举报
回复
你把数组当做指针就明白了
而实际上指针就是一个ULONG,指针可以强制赋给一个long,甚至int,甚至char
而两个指针之间的赋值完全依靠变异的时候的检查。
C语言程序设计(高清PDF)
目 录 序言 前言 第1章 程序设计与算法 1 1.1 程序设计语言的发展 1 1.2 C语言的特点 2 1.2.1 C语言是中级语言 2 1.2.2 C语言是结构化语言 3 1.2.3 C语言是程序员的语言 3 1.3 C语言的程序结构 4 1.3.1 基本程序结构 4 1.3.2 函数库和链接 6 1.3.3 开发
一个
C程序 7 1.3.4 C语言的关键字 7 1.4 算法 8 1.4.1 流程图与算法的结构化描述 9 1.4.2 用N-S图描述算法 12 1.4.3 用PAD图描述算法 13 第2章 数据类型、运算符和表达式 14 2.1 C语言的数据类型 14 2.2 常量与变量 15 2.2.1 标识符命
名
15 2.2.2 常量 16 2.2.3 变量 16 2.3 整型数据 16 2.3.1 整型常量 16 2.3.2 整型变量 17 2.4 实型数据 18 2.4.1 实型常量 18 2.4.2 实型变量 18 2.5 字符型数据 19 2.5.1 字符常量 19 2.5.2 字符串常量 19 2.5.3 转义字符 20 2.5.4 符号常量 20 2.5.5 字符变量 21 2.6 运算符 22 2.6.1 算术运算符 22 2.6.2 自增和自减 22 2.6.3 关系和逻辑运算符 23 2.6.4 位操作符 24 2.6.5 ?操作符 26 2.6.6 逗号操作符 27 2.6.7 关于优先级的小结 27 2.7 表达式 28 2.7.1 表达式中的类型转换 28 2.7.2 构成符cast 29 2.7.3 空格与括号 29 2.7.4 C语言中的简写形式 29 第3章 程序控制语句 31 3.1 程序的三种基本结构 31 3.2 数据的输入与输出 31 3.2.1 scanf()函数 31 3.2.2 printf()函数 33 3.2.3 getchar()函数与putchar()函数 36 3.2.4 程序应用举例 37 3.3 条件控制语句 38 3.3.1 if 语句 38 3.3.2 switch 语句 43 3.3.3 程序应用举例 45 3.4 循环控制语句 46 3.4.1 while语句 47 3.4.2 do... while 语句 49 3.4.3 for 语句 50 3.4.4 break与continue语句 53 3.4.5 程序应用举例 54 第4章 函数 57 4.1 函数说明与返回值 57 4.1.1 函数的类型说明 57 4.1.2 返回语句 58 4.2 函数的作用域规则 60 4.2.1 局部变量 60 4.2.2 全局变量 61 4.2.3 动态存储变量 62 4.2.4 静态存储变量 63 4.3 函数的调用与参数 63 4.3.1 形式参数与实际参数 64 4.3.2
赋值
调用与引用调用 64 4.4 递归 64 4.5 实现
问题
66 4.5.1 参数和通用函数 66 4.5.2 效率 66 4.6 函数库和文件 67 4.6.1 程序文件的大小 67 4.6.2 分类组织文件 67 4.6.3 函数库 67 4.7 C语言的预处理程序与注释 67 4.7.1 C语言的预处理程序 68 4.7.2 #define 68 4.7.3 #error 69 4.7.4 # include 69 4.7.5 条件编译命令 70 4.7.6 #undef 72 4.7.7 #line 73 4.7.8 #pragma 73 4.7.9 预定义的宏
名
73 4.7.10 注释 73 4.8 程序应用举例 74 第5章 数组 78 5.1 一维数组 78 5.1.1 向函数传递一维数组 78 5.1.2 字符串使用的一维数组 79 5.2
二维数组
80 5.2.1
二维数组
的一般形式 80 5.2.2 字符串数组 84 5.3 多维数组 85 5.4 数组的初始化 85 5.4.1 数组初始化 85 5.4.2 变长数组的初始化 86 5.5 应用程序举例 87 第6章
指针
91 6.1
指针
与
指针
变量 91 6.2
指针
变量的定义与引用 92 6.2.1
指针
变量的定义 92 6.2.2
指针
变量的引用 93 6.3
指针
运算符与
指针
表达式 94 6.3.1
指针
运算符与
指针
表达式 94 6.3.2
指针
变量作函数的参数 95 6.4
指针
与数组 96 6.4.1
指针
与一维数组 97 6.4.2
指针
与
二维数组
99 6.4.3 数组
指针
作函数的参数 102 6.4.4
指针
与字符数组 108 6.5
指针
的地址分配 111 6.6
指针
数组 112 6.7 指向
指针
的
指针
118 6.8 main函数的参数 121 第7章 结构体与共用体 125 7.1 结构体类型变量的定义和引用 125 7.1.1 结构体类型变量的定义 126 7.1.2 结构体类型变量的引用 127 7.1.3 结构体类型变量的初始化 127 7.2 结构体数组的定义和引用 129 7.3 结构体
指针
的定义和引用 135 7.3.1 指向结构体类型变量的使用 135 7.3.2 指向结构体类型数组的
指针
的 使用 136 7.4 链表的建立、插入和删除 138 7.4.1 单链表 139 7.4.2 单链表的插入与删除 141 7.5 共用体 149 7.5.1 共用体的定义 149 7.5.2 共用体变量的引用 150 第8章 输入、输出和文件系统 153 8.1 缓冲文件系统 153 8.1.1 文件的打开与关闭 153 8.1.2 文件的读写 155 8.1.3 随机读写文件 163 8.2 非缓冲文件系统 166 8.3 文件系统应用举例 167 第9章 实用编程技巧 170 9.1 图形应用技巧 170 9.1.1 显示适配器类型的自动测试 170 9.1.2 屏幕图像的存取技巧 179 9.1.3 屏幕显示格式的控制方法 181 9.1.4 使图形软件脱离BGI的方法 182 9.1.5 拷贝屏幕图形的方法 183 9.1.6 随意改变VGA显示器显示颜色的 技巧 185 9.1.7 用随机函数实现动画的技巧 187 9.1.8 用putimage 函数实现动画的技巧 189 9.2 菜单设计技术 191 9.2.1 下拉式菜单的设计 191 9.2.2 选择式菜单的设计 194 9.2.3 实现阴影窗口的技巧 195 9.3 音响技巧 197 9.3.1 音乐程序设计 197 9.3.2 自动识谱音乐程序 200 9.3.3 实现后台演奏音乐的技巧 203 第10章 C++入门 205 10.1 面向对象的概念 205 10.1.1 面向对象的程序结构 205 10.1.2 C++的类 206 10.2 C++的输入与输出 207 10.3 类与对象 208 10.3.1 类的定义与对象的引用 209 10.3.2 构造函数与析构函数 211 10.3.3 函数重载 215 10.3.4 友元 216 10.4 对象
指针
219 10.5 派生类与继承类 225 10.5.1 单继承的派生类 225 10.5.2 多继承的派生类 233 附录A 常用字符与ASCII代码对照表 238 附录B 习题 239
二维数组
与数组
指针
以及
指针
数组
二维数组
与数组
指针
以及
指针
数组
二维数组
定义 int buff[3][5]; 第
一个
[3] 表示
二维数组
buff中有3个一位数组 第二个[5] 表示每个一维数组中有5个成员。 若
二维数组
定义时进行初始化则第
一个
[]可以不填。第二个[]不能省略。 示例: int buff[][3]={1,2,3,4,5,6};//每行有3个元素 Int buff2[][3]={ {1,2,3}, {4,5,6}, };
二维数组
遍历 示例一: int main(
青少年C++编程NOIP/CSP竞赛通关语法-
二维数组
1、本课程为零基础C++语法专题课,是青少儿参加信息学奥赛NOIP/CSP需要学习的语法专题课; 2、本课程每节课均配有练习题以及真题,以锻炼孩子的解题能力;... 6、本课程介绍的是
二维数组
。也是历来竞赛重要考点。
c语言——用
二维数组
名
对二级
指针
赋值
用
二维数组
名
对二级
指针
进行
赋值
后,二级
指针
的
指针
运算操作是与
二维数组
的
指针
运算有区别的。通过下面的例子你将了解到
二维数组
与二级
指针
进行
指针
运算的本质区别。 char array[3][4]={"January","February","March","April","May","June","July","August","Setember","October","November","December"}; // 定义
二维数组
char **p; // 定义二级
指针
p=array;
二维数组
与二重
指针
赋值
问题
之实验
前一段时间做了
一个
关于
二维数组
和二重
指针
的互相
赋值
的实验,很有意思,特记录下来。由于数组是
指针
的语法糖,所以我之前一直认为两者可直接进行
赋值
转换。后来发现在
二维数组
中这样做是不可行的,现将实验现象记录如下: 实验: #include <stdio.h> int main(int argc,char *argv[]) { int a[2][5]={{1,2,3,4,5},{...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章