本篇文章给大家谈谈c语言指针和数组不同,以及c语言指针和数组不同怎么办对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、c语言 字符指针和字符数组的区别2、C语言中数组名和指针的区别3、C语言算法中指针和数组有什么区别4、c语言中的数组和指针的区别
c语言 字符指针和字符数组的区别
首先第一点,非常重要的一点:指针和数组是不同的两个类型!
我们从可以从C语言标准文档中得知:
ISO/IEC 9899:1999 – programing language c
6.2.5 Types
20 .
这说明了什么是数组类型
同样在20 .
说明了什么是指针类型。
在了解了两种类型的基础上,我们了解数组和指针的区别:
数组是一组相同类型对象的集合,指针是对一个对象的引用。
它们在使用中表现出了一定的相同点,但不同点也是很多的:
1,数组直接储存对象,指针则是指向一个对象。
2,数组名不能被赋值,指针变量能。
3,sizeof一个数组,得到数组的长度(字节单位),sizeof一个指针,相当于sizeof(void*)。(注意,不同目标平台指针长度可能不同,所以sizeof(void*)是最准确的回答)
4,(可能是考试内容,对于正确性就呵呵)指针是间接访问,数组是直接访问。
如果你对C语言有深入学习的想法,务必去了解一下C语言的ISO标准。
C语言中数组名和指针的区别
数组名本质上就是个指针,也就是地址,但是它是一个常指针,是个固定值,而指针是是指针变量的简称,是个变量,这个变量存放的是地址值,它的值是可以改变的。例如:
int *p;
int a,b;
p=a; //把变量a的地址赋值给指针p,那么指针p就指向了变量a的内存单元
p=b; //把变量b的地址赋值给指针p,那么指针p就指向了变量b的内存单元
int a[10]; //整型数组,数组名a本质上是一个地址,是首元素地址,它是一个固定值,不能对它进行赋值操作。
C语言算法中指针和数组有什么区别
数组和指针是不同的。定义一个数组就为数组划分了一段内存空间,而指针是不占用内存空间的,除非是用malloc等类似函数为其分配内存空间。指针可以指向一个数组的内存空间,比如:
int
a[10]={0};
int
*p=a;
指针也可以指向函数,
是很灵活的。
c语言中的数组和指针的区别
C语言中,数组的名称等价于数组的首地址,
当然可以利用指针开辟动态空间,使用方式与数组在形式上相同的,
但是他们有一个本质的区别,数组名相当于一个地址常数,而指针是一个以地址为内容的变量。
指针与数组的关系可以参考下面的网页:
关于c语言指针和数组不同和c语言指针和数组不同怎么办的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。