- 2
- 0
- 约1.17万字
- 约 3页
- 2017-08-06 发布于河南
- 举报
数组与指针区别
数组和指针的区别
首先对于编译器而言,一个数组是一个地址,一个指针是一个地址的地址。
数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而
不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。
例如:
void main(void)
{
int a[10];
a ++;//error, a is left value,but cant be changed.
}
指针可以随时指向任意类型的内存块,远比数组灵活,但也更危险。 下表是指针和数组一个简单的比较
数组和指针的特点 数组 指针
保存数据 保存地址
直接访问数据 间接访问数据,先取得指针的内容,然后以它为地址,取得数据
用于存储数目固定且类型相同的数据 通常用于动态数据结构
由编译器自动分配和删除 动态的分配和删除,相关函数为malloc() 和free()
自身即为数据名 通常指向隐式数据
1、指针和数组都可以在初始化的时候赋予字符串常量。尽管看上去一样,底层机制却不同。
指针在定义的时候,编译器并不会为指针所指向的对象分配内存空间,它只是分配指针变量的空间。除非以一个字符串常量对其进行初始化。下面的定义创建了一个字符串常量(为其分配了内存空间)
char *p = abcd;
在ANSI C中,初始化指针时所指向的字符串被定义为只读,如果想通过指针修改字符串的
您可能关注的文档
最近下载
- 2025年鹿城区教科规划.doc VIP
- 软件工程理论与实践(许家珆)习题答案.doc VIP
- 中国特种工作手套行业市场深度分析及投资战略研究报告.docx VIP
- 《0~3岁婴幼儿生活照护》中职学前教育全套教学课件.pptx
- 2026四川凉山州民政局养老服务管理专员政策性岗位招募102人考试备考题库及答案解析.docx VIP
- 2026四川凉山州民政局养老服务管理专员政策性岗位招募102人笔试模拟试题及答案解析.docx VIP
- 2026四川凉山州民政局养老服务管理专员政策性岗位招募102人笔试备考试题及答案解析.docx VIP
- 一种特种防护手套及其生产工艺.pdf VIP
- 物流运输合同(物流承运协议).docx
- 2025-2026学年小学数学一年级上册(新教材)西师大版(新教材)教学设计合集.docx
原创力文档

文档评论(0)