c语言数组指针

作者&投稿:胡凌 (若有异议请与网页底部的电邮联系)

C语言 指针数组的使用
int **a可以表达一个二维数组。为什么呢?你可以这么理解 * p[3]表达的是一个数组指针,这个指针 p[0]表示的是数组存的第一个地址。而数组实际上是一串连续地址的块。每一个小块存着一个内容。每次访问数组时,你为什么可以用数组名+下标访问呢? \/\/比如a[i];实际上就是 访问*a+i; * ...

C语言 数组 输出 指针 求高手解答
变量在内存中的分布:p=&a[0][0];和p=a[0];结果是一样的。解释:p是指针,是一个地址:p=&a[0][0]就是把a[0][0]的地址赋值给p,p就可以指向a[][]数组的首地址 for函数是通过p指针,来给p指向的地址赋值,实际就是给a[][]数组赋值 关于指针的访问方式有两种:1是直接指针指向,...

C语言数组指针?
int (*pstu)[4]; 为指向有4个元素的数组的指针 int* getPosPerson(int pos, int (*pstu)[4]); 为返回值为指针的函数 注意这是指针函数,而不是函数指针,后者为指向函数的指针变量,两者含义是不同的 (类似指针数组和数组指针,两者含义也是不同的,一个本质是数组,一个本质是指针)调用该...

c语言指针指向数组的问题。
首先你要明白一点,数组名和指针本质上是一回事,都是地址,该数组的首地址。知道这一点后就可以活学活用了。这是c语言的精髓。比如你定义了int p,a[10];并且让p=a;,这个操作叫做指针p指向了数组a,其本质是给p这个变量付了一个值,就是数组a的地址,也是a[0]的地址,也是a本身里面存储的...

c语言数组指针
② 指向iArray[1]输出2 (因为*(++p)是先自加然后取指针内容)③ 指向iArray[1]输出4 (因为②时p已经成了1,p+2就是3,iArray[3]就是4)④ 指向iArray[0]输出2 (因为*(p--)相当于 *(p) ;p--; 是先取值, 然后自减,自减后p=0)\/ ④有异议 不管怎么样, 输出...

C语言指针数组的作用
指针数组:数组成员是指针的数组。作用:数组的属性全有。因为成员是指针,这就可以延伸出很多内容。包括:成员是函数指针,整个数组就是一类相关函数的集合,便于代码架构的管理。成员是链表指针啦,char指针,这种就是能做出类似散列表的结构。总体来讲,就是一组相关数据的指针的集合,达到的目的就是搜集...

什么是指针数组?
故用指针数组表示一个二维数组更方便形象,有些数据结构复杂,用指针数组来指向它们,当要改变数据的顺序时只要改变指向它们的指针的顺序不必改变数据本身,这样可以简化问题。指针是个好东西,是c语言的精华。你只要好好看《谭浩强的c程序设计》就会完全明白。

C语言指针数组问题 求高手详解
当k=1时,p[1]=m+2;因此p[1]指向m+2的位置,也就是从数字4开始的位置 当k=2时,p[2]=m+8;因此p[1]指向m+8开始的位置,也就是&m[8]开始的位置,即数组m中的第9个元素的地址,也就是16 再来看for中循环语句中的指针表达式,首先下标运算符p[k]是与*(p+k)等价的,(*(p+k)...

C语言中:数组指针与指针数组有什么区别?
数组指针是指向这个数组首地址的指针,指向对象是这个数组;指针数组是存放一类指针的数组,这个数组的每个元素都是一个指针;例子:int a[10];int* s;s = a;\/\/这里s就是一个数组指针,它的值就是数组a 的首地址;当然,如果a是一个整数,那s就是一个指向整型的指针;int a;int* s[5];for...

C语言数组名和指针的区别?
数组和指针的区别:数组名确实表示指向数组首地址的指针,但这个指针很特别,它的值(指针的值指的是指针所指的地址)不能被改写,能改写的仅仅是其指向的内容,换句话说,数组名只能指向数组的首地址,如果有数组char a[];那么如果出现a = a+1;这是编译都通不过的错误。而对于一个普通的指针是可以...

荡泽13662287409问: C语言中的指针数组是什么意思?我对这个概念很混乱,指针数组的定义,作用,使 -
永平县丹红回答: 指针数组:就是存储指针的数组.数组指针:就是指向数组的指针.指针:本质就是一个int型变量,含义:一个内存地址.举例:int *p[10] 指针数组.原因:因为[的优先级比*高,p先和[结合,所以是指针数组.等同于int* p[10].int (*p)[10] 声明了一个指针P,指向有10个元素的数组.如果 int* p;就是声明了一个指向int变量的指针P.同理.int (*p)[10] 声明一个指向int[10]的数组.

荡泽13662287409问: C语言中关于指向数组的指针 -
永平县丹红回答: char str[100]; char *pi=str; //相当于char *pi ;pi=str; char **ppi=*pi;//这个地方抄错了.应为char **ppi=π定义加*表明这是指针类型的变量 用的时候,就是用的指针,加*干什么.只有取指针所指变量的值,或给指针所指的变量赋值的等涉及指针所指的变量的时候,才会又加*号,表示获取或改变,指针所指变量的值.char x=10;*pi =x; //给指针所指的变量赋值,改变指针所指变量的值(改变*pi) .x=*pi; //取指针所指的值,取指针pi所指的变量的值(表示为*pi)赋值给x.

荡泽13662287409问: C语言数组指针
永平县丹红回答: (*P)[3]准确的说是一个行指针.它指向的是一个数组.因为【3】定义了它是一个3列的数组,所以当P+1的时候是数组移动3个单元.注意,是数组移动,不是数组元素

荡泽13662287409问: C语言中指针数组是什么意思? -
永平县丹红回答: int *p[n];-----指针数组,每个元素均为指向整型数据的指针. int (*)p[n];------p为指向一维数组的指针,这个一维数组有n个整型数据. int *p();----------函数带回指针,指针指向返回的值. int (*)p();------p为指向函数的指针.

荡泽13662287409问: c语言数组指针
永平县丹红回答: *p=a //是指针p指向a数组的首地址,也就是数组的第一个元素; for在循环的时候指针p++ 不断的向后指向,所以结果就为 13579

荡泽13662287409问: C语言指针数组的作用(c语言数组指针和指针数组的区别)
永平县丹红回答: 指针数组就是一个整数数组,数组的各个元素都是整数,指向某个内存地址.在C语言中,数组元素全为指针的数组称为指针数组.作用:1、成员是函数指针,整个数组就是一类相关函数的集合,便于代码架构的管理.2、成员是链表指针,char指针,能做出类似散列表的结构.3、一组相关数据的指针的集合,达到的目的就是搜集指向相关数据的指针放到一个集合里面.

荡泽13662287409问: C语言指针数组问题 -
永平县丹红回答: char *a={"abc"}; a 是指针.char c[]={"abc"}; c 是数组.初始化后 sizeof(a) 为 4,strlen(a) 为3.同样,sizeof(c) 为 4,strlen(c) 为3.在语句中有时一样,有时不一样.例如:char *a={"abc"}; char c[]={"abc"}; char b[]={"123"}; int L; L = ...

荡泽13662287409问: 关于C语言数组指针的应用 -
永平县丹红回答: 应该会有的,这个叫行指针 它指向的数组是有10个元素的数组 int b[10],c[11]; int (*a)[10] = &b;//编译通过 int (*d)[10] = &c;//编译不通过

荡泽13662287409问: 数组的指针是怎么回事啊? -
永平县丹红回答: 就是指针是指向数组的 比如说 int (*p)[4]; 这就是数组指针,指针是指向含有4个整形元素的数组,这里面得p是指针变量,并不是指针常量(数组名),这个要和 int *p[4]区分开来(这里的p才是才是数组名,这叫指针数组,数组里的每个元素都是指针变量,都是指向整形元素的),而int (*p)[4];中的p是指针变量!他可以通过++,--运算来变换的,int *p[4]中的p相当于数组名,等于是指针常量是不能通过++、--运算的! 数组指针是指向数组首元素的地址的指针,其本质为指针; 指针数组是数组元素为指针的数组,其本质为数组.

荡泽13662287409问: C语言中指针是什么 -
永平县丹红回答: 我们都知道:C语言中的数组是指 一类 类型,数组具体区分为 int 类型数组,double类型数组,char数组 等等.同样指针 这个概念也泛指 一类 数据类型,int指针类型,double指针类型,char指针类型等等. 通常,我们用int类型保存一些整型的数据,如 int num = 97 , 我们也会用char来存储字符: char ch = 'a'. 我们也必须知道:任何程序数据载入内存后,在内存都有他们的地址,这就是指针.而为了保存一个数据在内存中的地址,我们就需要指针变量. 因此:指针是程序数据在内存中的地址,而指针变量是用来保存这些地址的变量.


本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网