66问答网
所有问题
当前搜索:
c语言数组索引和指针
C语言
:简述一下“
数组和指针
的关系”?
答:
(1)退化的意义:
C语言
只会以值拷贝的方式传递参数,参数传递时,如果只拷贝整个
数组
,效率会大大降低,并且在参数位于栈上,太大的数组拷贝将会导致栈溢出。(2)因此,C语言将数组的传参进行了退化。将整个数组拷贝一份传入函数时,将数组名看做常量
指针
,传数组首元素的地址。1.一维数组的传参 i...
C语言
中
数组和指针
的问题
答:
&a 、 a、 &a[0]都是一个值,指向首地址。&p1是取
指针
p1的地址,不是p1内容的地址。p1 p2相等,但是&p1 不等于p2。p3
与
数组
a没关系,但是因为a[4]正好
索引
到数组a最后一个成员的下一个地址,因此正好是p1的地址。这段解释比较麻烦,画个图会明白些。简单的说,局部动态变量的空间是在...
C语言
,
指针
与
数组
。
答:
p指向的是
数组
第一个元素的地址 所以*p就是取p指向的这个地址的值.B错在str是指向字符串的
指针
比如 printf("%s\n",str);会输出整个Program 由此可以说明BCD都是错的 字符串的表现形式 在
C程序
中,可以用两种方法实现一个字符串。1. 用字符数组实现。[例8.11]void main(void){static char str...
C语言
中,
指针和数组
的区别和联系?
答:
区别:
C语言
把内存划分成四个区,它把一般的变量和数组等存在于内存中的栈区,所以数组在C语言的定义中只是一组同类型的普通变量,即使这个变量有可能是指针。所以他的作用比指针小的很多,而指针可以指向任何区的任何数据,所以就会觉得
指针和数组
名很像,但是必须要注意的是,数组名只是指针中的一种,...
C语言指针数组指针
怎样理解?
答:
指针数组
,指数组元素就是指针
数组指针
,对于一维数组来说就是数组名 故对于一维数组来说,数组名是第一个元素的指针,而元素本身也是指针,故数组名是指向指针的指针。例如: int * p = &a; int ** q = &p;则p中储存的是整形变量a的地址,而指针p自身也是变量(指针变量通常占4个字节),故...
c语言指针数组
的首元素地址和
索引
为0的地址不一样
答:
name[]是以char 为基类型的
指针数组
,**p是以char 为基类型的指向指针的指针。虽然赋值上p=name代表了p=name的首地址,但实际上*p才是name的地址,打印的时候按照以下格式打印才能输出正确的结果:include <stdio.h>int main(){ char *name[]={"Beijing","Shanghai","Nanjing","Suzhou"};/...
C语言数组与指针
,请讲解为什么。
答:
定义一个数组指针,指向含4个元素的一维数组,数组元素是int类型。int p[4];// 定义一个指针数组,数组中每个元素是一个指针,指针指向哪里就要根据程序来定了。判断
数组指针与指针数组
主要通过运算符的优先级来判断。int (*p)[4];// 由于()的优先级高,说明p是一个指针,指向一个一维数组的指针...
c语言
什么时候使用
数组
,什么时候使用
指针
?
答:
NULL
指针
,只是一个方便的指针,表示不指向任何对象。真正有用的还是指向具体对象的指针。如果定义了一个指针,使用时要让他指向一个具体对象,当需要他不指向什么对象的时候,给他赋值为NULL;PS:
C语言
,
数组
名只是一个指针常量而已,离开定义可见处,数组大小的信息就不存在了。只有定义完全可见的地方,...
c语言指针与数组
,怎么联系起来?
答:
1、
指针
的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);
数组
的本质则是一系列的变量。2、数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。
C语言数组与指针
答:
实际上a是
数组
名代表数组的首地址(注意虽然数组名
和指针
都代表地址,但是数组名不是指针,指针是变量,这个a是常量,可以叫指针常量)而i实际上可以看做数组中的元素距离数组首地址的偏移量(距离)。*(a+i)就是取距离数组首元素距离为i的数组中元素的值,也就是a[i]了。也就是说*(a+i)==a[i...
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
c语言指针用法与数组
c语言中的数组与指针的关系
c语言遍历数组
c语言的指针变量与数组
C语言指针数组的定义
用指针变量求数组个数怎么求
c语言指针数组的赋值与引用
指针变量与数组
c语言标准内存