c语言指针怎么指向数组
c语言指针,指向数组的指针、指向指针数组的指针、指向数组的指针的指...
解答:1. 如何声明一个指针,这个指针是指向整个数组的,数组有n个元素,每个元素是int,不是int (*p)[n],而是最简单的int*p;2. 如何声明一个指针,这个指针也是指向数组的,数组有n个元素,每个元素不是int,而是指针int*;这个指针是int**p;3. 又如何声明一个指针,它指向另一个指针,这“...
c语言中指针怎么使用?
(1)int *a :表示一个指向int型变量的指针,指向的是变量的地址单元 (2)char *b:表示一个指向char变量的指针 a表示的是这个指针指向地址的值,a为此指针本身的地址,这点要明确,一般用*(a+1)、*(a+2)来表示值,如:int nums[5]={0,1,2,3,4};int *a=nums;printf("%d %d %p\\n...
c语言 指针如何赋值
1、变量的指针就是变量的地址。存放变量地址的变量是指针变量。即在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个变量的地址或称为某变量的指针。2、为了表示指针变量和它所指向的变量之间的关系,在程序中用“*”符号表示“指向”。3、定义指针变量.对...
C语言指针的用法
(1)int*ptr;\/\/指针所指向的类型是int (2)char*ptr;\/\/指针所指向的的类型是char (3)int**ptr;\/\/指针所指向的的类型是int (4)int(*ptr)[3];\/\/指针所指向的的类型是int()[3](5)int*(*ptr)[4];\/\/指针所指向的的类型是int*()[4]在指针的算术运算中,指针所指向的类型有很大的作用。
可以介绍一下c语言里面的指针怎么运用吗?
指针所指向的类型 当你通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么来看待。 从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型。例如: (1)int*ptr;\/\/指针所指向的类型是int (2)char*ptr;\/\/指针所...
C语言,指针变量不是只能指向变量,不能指向常量吗?
指针变量是指向数据地址的,一般不指向常量,不过是可以指向常量的,指向常量一般不用,数据地址是变的 常指向0表示空值!
C语言怎么让指针指向某个变量
1、&a指向的是a的地址。2、指针指向的是地址,和整型变量的值并不对等,也就是int *与int不对等,是不能从int转换为int *的。知道以上两个最基础的知识点,你的问题就很简单了 。第一个:int *p;p=&a;是正确的。定义指针变量p,然后才将p指向变量a的地址。第二个:int *p;p=int* (&a...
C语言问题,指针指向数组。使指针变量p指向数组a的第三个元素,p=&a+...
int a[10] ;int *p=a ; \/\/定义一维指针p,并指向数组a首地址。p=a+2 ; \/\/指向数组a的第三个元素 或写成:p= &a[2] ; \/\/通过&运算符号来取a[2]的地址,赋值给p p=&a ; \/\/这是错误的语句!因为,&a的类型是int **, 而p是int *类型,所以,类型不相符,不能进行赋值操作。
C语言如何定义指针指向字符型二维数组
1.使用列指针:定义一个列指针p,让它指向二维数组的第0个元素 int a[3][4];int *p;p=&a[0][0];\/\/因为a[0]是第0行的数组名,所以p=&a[0][0]相当于p=a[0],因为a[i][j]前面共有i*4+j个元素 该二维数组的任意i行j列元素可表示为*(p+i*4+j)。2.使用行指针:定义一个...
如何让指针指向数组尾部
int a[] = {1,2,3,4,5}; % 定义一个整型数组aint *p; \/\/ 定义一个整型指针变量pp = &a[sizeof(a)\/sizeof(a[0])-1]; \/\/ sizeof(a)\/sizeof(a[0])求出数组a中元素的个数,由于C语言中数组下标从0开始,\/\/ 所以减1后就是指向最后一个元素。也即指针p指向了数组的尾部...
新野县复方回答: 在这里for(p-a;p<(a+10);p++)使用指针 p 以前没有对指针赋值.这样不行.这样指针所指的地址是内存的一个随机地址.在给数组a赋值之前要有“p=a”这样才让指针指向数组的首地址. 而且最后的for(p-a;p<(a+10);p++)中的“p-a”使指针重新指向a 的首地址.p<(a+10)是相当于 P最多可以指向a[9] 的地址. “p++”是让p从a[0]一直上移到p指向a[9]
辟颖19195699218问: 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.
辟颖19195699218问: c语言中如何用指针指向二维数组中的某个元素? - ?
新野县复方回答: 二维数组名a是一个指向指针的指针.也是一个指针数组名,它含3个元素,a[0]a[1],a[2].虽然a存储的地址是该数组首元素的地址,但它指向的并不是一个变量,而是一个指针.应为a是一个指向指针的指针,它指向的是和自己存储的地址相同的指针,即a[0],a[0]是第一行一维数组的指针,可以指向具体变量. 这下明白了吧,*(a+0)它不是变量,她是指针,a指向a[0],*(a+0)就是a[0].
辟颖19195699218问: c语言 指针怎么指向一个结构数组? - ?
新野县复方回答: 楼上都回答得这么复杂吗?我写简单一点的 struct str{ int n; int s;}; void main() {struct str a[2]={1,2,3,4};//声明一个结构数组并对数组a[0]中的成员n和s 分别赋值为1和2,对a[1]中的成员设置为3和4. 注:有些编译器可能不需要最前面的struct来声...
辟颖19195699218问: C语言编程是如何用指针指向二位数组的某个为 - ?
新野县复方回答: 如果,你需要让指针指向哪个数,直接把这个数的地址,赋给该指针,就行了.比如:int *p1,*p2;int a[2][3]={{1,2},{3,4}}; p1=&a[0][1];//p1指向2p2=&a[1][0];//p2指向3
辟颖19195699218问: C语言中怎么让指针指向一维数组的末尾. - ?
新野县复方回答: 数组有多少项,就给这个指针加多少. 如int b[5]; int *p;p=b; p+=5;这时p就指向了b[5]的未尾.
辟颖19195699218问: C语言 怎么调用指针数组函数?
新野县复方回答: #include<stdio.h>#include<string.h> void paixu(char **a) {int i,j;char *p;for(i=0;i<5;i++){for(j=0;j<4-i;j++){if(strcmp(a[j],a[j+1])>0){p=a[j];a[j]=a[j+1];a[j+1]=p;}}} } void main() {char *a[]={"Hongkong","Singgapore","Beijing","...
辟颖19195699218问: C语言问题,如何用指针指向未知长度的数组的末尾? - ?
新野县复方回答: 楼主,可以用指针解决,即让指针开始指向数组首地址,然后P++,直到遇到\0为止. 例子:int a[20]={1,2,3,4}int *p=a /*p指向数组a首地址*/while(*p) /*这要有值,就为真,p不断往后指*/++p;--p; /*注意,p最后还会下移一位,指到了\0,向前一位就指到了末尾的值的了*/不知道楼主满意否啊? 注意:用指针效率高.
辟颖19195699218问: 关于C语言数组指针的应用 - ?
新野县复方回答: 应该会有的,这个叫行指针 它指向的数组是有10个元素的数组 int b[10],c[11]; int (*a)[10] = &b;//编译通过 int (*d)[10] = &c;//编译不通过
辟颖19195699218问: c语言中如何通过二级指针来操作二维数组 - ?
新野县复方回答: 1、首先我们打开电脑里的C语言软件,新建一个工程和.c文件,输入头文件和主函数. 2、然后我们输入图示代码初始化数组,定义变量类型. 3、然后我们输入图示代码用for语句实现数组的访问. 4、然后我们输入图示代码进行输出. 5、然后我们输入图示代码编译、运行,即可通过二级指针来操作二维数组.