c语言中什么是指针,C语言的指针是什么

1,C语言的指针是什么指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址 。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型 , 指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区 。
2,怎么理解C语言里的指针指针类似于是电脑里面的“桌面快捷方式”,指向了实际的文件内容快捷方式(指针)指向了文件(变量)的地址 。当快捷方式(指针)里面的内容(值)变化的时候,文件(变量)的内容(值)也跟着变化 。当单独删除快捷方式(指针)的时候,文件(变量)仍然存在,并没有因此而删除
3,C语言中指针是什么你这个问题你百度一下就知道了,你在理解的过程中还有什么不懂你在提出来还差不多1.指针就是1个变量,他也是一个存放内容的内存空间 。2.指针存放的内容是另一个内存空间的起始地址 。不同于一般变量存放的就是变量值 。3.取值操作符*对于指针的作用是取得指针变量存放的内存地址里面的值,不加*取出的是指针变量存放的值(就是一个内存地址)上面3步,step by step 你就理解了.【c语言中什么是指针,C语言的指针是什么】
4,c语言 指针修改如下:#include<stdio.h> void main()void average(float *p,int n);/*注意这里*/void search(float (*p)[3]); /*注意这里*/float score[3][3]=average(&score[0][0],9);/*注意这里*/search(score); } void average(float *p,int n)/*注意这里*/int sum,i,k;for(i=0;i<n/3;i++) /*注意这里*/sum=0;for(k=0;k<3;k++)/*注意这里*/sum=sum+*(p+i*3+k); /*注意这里*/aver=sum/3;printf("average= %5.2f\n",aver);} } void search(float p[][3])/*注意这里*/int i,j,flag;float aver,sum=0;for(i=0;i<3;i++)flag=0;for(j=0;j<3;j++)if(*(*(p+i)+j)<60)flag+=1;if(flag>1)printf("NO.%d fails,his scores are:\n",i+1);for(j=0;j<3;j++)printf(" %5.1f",*(*(p+i)+j));for(j=0;j<3;j++)sum=sum+*(*(p+i)+j);aver=sum/3;printf(" %5.2f\n",aver);}} }5,关于C语言中的指针首先,指针是指一个指向某一变量内存地址的一个指针变量(也算是一种变量,与普通变量不同的是,它是存放另一个变量的内存地址,也就是一个指针型的变量).其次,指针变量的值是存放的是另某个变量的内存地址.例如:int a=10;//假如a的内存地址为0x00000012(不定的)int *p;//定义一个指针变量p*p = &a;//把变量a的内存地址赋值给指针变量p,既p=0x00000012int b;//定将一个bb = *p; //即b值为p所指的内存地址的值,就是内存地址为0x00000012的值,相当于b=a;所以这里b=10简单的说 。指针就是地址 。就是一个存放地址的变量,,指针本身是整型的 。。但可以指向不同的数据类型的地址 。。。如int a=10,*p=&a;那么*p就是指针 。*只是一个标识符,说明后面的变量是存放地址的 。。所以p存放着a的地址 , 而*p就是10. 。。记住这个就行了int a=0;int *p;//这个就是指针*p = &a; //&这个,就是取址记住这个,就OK了指针是C语言的精髓啊,其主要作用有间接引用和动态分配 。间接引用时和引用的作用一样 , 就是对指针操作相当于对数据本身操作 。在传递函数参数的时候尤其有用,特别是参数是一个类类型的话 。因为函数是值传递 , 在传入实参时会有一个拷贝,用指针或引用可以克服这一浪费 。但是由于引用更加安全和简洁,在这一块推荐使用引用 。指针的另外一块就是对数组的操作了,数组本身是一组连续的存储单元,用指针加上偏移量的时候就可以实现方便访问了 。指针的最精髓的作用是内存动态分配,在构造链表和其他复杂的数据结构时功不可没 。如果你能很好的理解指针,你的c语言就能进入不同的阶级了 。至少你不再是初学者了 。至于例子不好举出 , 还是参考下教材吧 。我们的例子难以说明问题的 。通过指针访问它所指向的一个变量是以间接访问的形式进行的,所以比直接访问一个变量要费时间,而且不直观,因为通过指针要访问哪一个变量,取决于指针的值(即指向),例如\"*p2=*p1;\"实际上就是\"j=i;\",前者不仅速度慢而且目的不明 。但由于指针是变量,我们可以通过改变它们的指向, 以间接访问不同的变量,这给程序员带来灵活性,也使程序代码编写得更为简洁和有效 。指针变量可出现在表达式中, 设int x, y *px=&x;指针变量px指向整数x, 则*px可出现在x能出现的任何地方 。例如:y=*px+5; /*表示把x的内容加5并赋给y*/y=++*px; /*px的内容加上1之后赋给y [++*px相当于++(*px)]*/y=*px++; /*相当于y=*px; px++*/ 指针就相当于是一个地址 。指针相当与房间的号码 , 指针指向的内容相当于房间里面的东西 。int a = 5;int *p = a;p指向a房子,a相当与房子,a里面的东西是5.

    推荐阅读