c语言指针怎么写
答:所谓寻址,就是指你所分配的内存的首地址,要看你的内存在什么上创建?(C语言有三种内存创建方式)是该内存的那一段?才能给你相应的首地址,也就是这块内存,这是由编译器决定的,不是你决定的 如果你有兴趣可以去学微机原理和编译原理,比较复杂,牵扯硬件和汇编,还有数电,它会让你更了解这些东西...
答:比如:int *p=null;声明一个整数指针p
答:二维数组也是“数组的数组”所以定义一个指向由m个元素组成的一维数组指针即可指向二维数组的首元素地址。如:char arr[2][2] = { { 'a', 'b' }, { 'c', 'd' } };char (*p)[2];p=arr; // p指向首元素地址。char c = *(p[0]+ 1);// 指向0行1列 即字符b ...
答:在最上面加一句这样的定义 typedef void*(*pFn)();pFn可以这样理解:首先pFn是一个指针,指针指向一个函数(或者说pFn是一个函数指针),此函数返回一个无类型的指针。最终定义的变量及函数都是指针罢了,不过是指针的类型不同。所以在编译时会有警告,说指针类型不匹配。但对于程序来讲,都是可以在特定...
答:p:是数据指针。P:是变量指针。P:呵呵,我没见过。所谓指针可以简单的理解为是一个间接访问的地址。如有一个变量a,如果要访问则可以直接写a时行访问,用指针的话则P=&a,以后再写下面的程序时P就等于变量a,&是变量所在的地址。P是指向指针的指针。如有一指针*S,用**P做为指针变量。P=S是...
答:二维数组就是数组的数组,二维数组即数组的元素是一维数组的数组。那么我们要用指针指向二维数组,就是要定义一个指向数组的指针了。例如:char str[3][10]; //定义了一个char型的二维数组char (*pstr)[10]; //定义了一个指向char型的数组指针pstr=str; //指针指向二维数组str下面用pstr这个指针...
答:使用指针变量访问二维数组的任意一个元素的方法: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=5;就相当于a[3]=5;的操作,p++;后p指针就指向a[4]。在操作大块数据时,一般记录首地址(数组指针),然后根据首地址再加 上偏移量来访问整个数据,在你程序中写a[3]时,计算机就会取a数组对应 的首地址再加3个整型偏移量来访问相应数据。用指针p访问a数组的好处 是,不用...
答:在c语言中.指针被用来表示内存单元的地址,如果把这个地址用一个变量来保存,则 这种变量就称为指针变量。指针变量也分别有不同的类型,用来保存不同类型变量的地址。严格地说.指针与指针变量是不同的,为了叙述方便,常常把指针变量就称为指针。内存是计算机用于存储数据的存储器,以字节作为存储单元....
答:char A[10][10]char (*pArr10)[10];pArr10 = A; //或者 pArr10 = &A[0] ;char B[10];char *p;p = B; //或者 p = &B[0] ;
网友评论:
崔有17792066706:
C语言中的函数指针 -
15002阮绍
: 函数指针是定义一个指向函数的指针,形式为:void (*p)(void); 一般用法:int fun1(int x); int fun2(int x); char fun3(int x); int fun4(char x); int main(void) { int (*p)(int x);p=fun1; //指向fun1 p(2) //这时等价于fun1(2) p=fun2; //也可以指向fun2 . .但...
崔有17792066706:
c语言中指针怎么使用? -
15002阮绍
: 1、指针指向变量:下面有这样一个代码块:int main() {int a=10;int b=15;test(a,b);printf("a=%d,b=%d\n",a,b);} void test(int x,int y) {int tmp;tmp=x;x=y;y=tmp;} 最后输出的结果还是a=10,b=15.因为在函数调用时,实参和形参之间只是值传递....
崔有17792066706:
C语言指针 -
15002阮绍
: #include<stdio.h> /* Src为源字符串,iStart为其始索引(从0开始),Dest为目标字符串首地址 */ void Copy(char* Src,unsigned int iStart,char* Dest) { int iLen = 0; while(Src[iLen]) iLen++; if(iStart>iLen-1) return; for(int i=iStart;i<iLen;i++) *Dest++=...
崔有17792066706:
C语言指针 -
15002阮绍
: 有两种改法:1、 int *p;改为 int (*p)[M];就可以了或2、printf("%d ",*(*(p+i)+j));改为printf("%d ",*p++);
崔有17792066706:
c语言 指针
15002阮绍
: #include <stdio.h> int main() { int a[10]={1,2,3,4,5,6,7,8,9,0,},*p; for(p=a;p<a+10;p++)//p是指针,批向数组的第一个元素,并将指针移到下一个元素 printf("%d,",*p++);//输出指针所指向的元素的内存,并将指针移到下一个元素 //上面是两次指向一下人元素,也就是说一次循环+2,++在后边是先使用再+1 printf("\n"); for(p=a;p<a+10;p++) printf("%d,",*++p);//++在前边,是先自加再使用 printf("\n"); return 0 ; }
崔有17792066706:
c,c++,c语言关于指针的语句. -
15002阮绍
: p里面的东西都是一个个指针;x里面的东西是一个个数字 p(没有下标的话)就是一个指向指针数组的指针,同理x没有下标是指向数组的指针 p0 = x 的意义是让第一个指针指向数组首地址,其结果等同于指向x0,小学的时候应该学过2 * 4 和 4 ...
崔有17792066706:
c语言指针的概念 -
15002阮绍
: 指针是C语言中广泛使用的一种数据类型. 运用指针编程是C语言最主要的风格之一.利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序.指针极大地丰富了C...
崔有17792066706:
用C语言编写个指针程序~~~请高手帮哈忙~~~速度~~ -
15002阮绍
: 楼上的函数把起始位置和长度写死了,不具有通用性#include void main() { void sort(int *a,int start,int length); int array[20]; int i,start,len; printf("input the array\n"); for(i=0;i{ scanf("%d",&array[i]); } printf("input the start position and length:\n"); ...
崔有17792066706:
C语言 程序编程 指针 -
15002阮绍
: 指针也是一个变量,它也需要进行赋值.指针所存储的东西不是什么特别的,犹如普通的整型变量int x ,x可以存放一个整数一样, 那int *p 的p则可以存放一个内存地址.所以指针变量中所存放的内容就是一个内存地址.所以经常的做法是将一个...
崔有17792066706:
C语言 指针 -
15002阮绍
: 已经执行了pointer_1=&a;语句,&*pointer_1那其实就是pointer_1,因为*和&可以看成是逆运算,两个在一起就和没有的效果一样*&a也是一样,就是a(pointer_1)++和pointer_1++是一样的,都是指下数组中下个元素 要是所指的对象不是数组首地址(数组第一个元素的地址),而用了上面两种语句,编译不会出错,但结果不会是你想要的结果 不过*pointer_1++和(*pointer_1)++是不一样的 前者是指向数组中下个元素,后者是此元素自增1.++和*的运算级别一样,且都是右结合运算符,因此从右往左运算,加括号可以改变它们的顺序