百度
360搜索
搜狗搜索

指针c语言用法,C语言 指针方法?详细介绍

本文目录一览: c语言中指针的应用?

建议楼主去百度C语言吧看看学生管理系统,或者图书管理系统,里面用到了很多指针相关的知识,很实用。
在函数中用来传回多个返回值,可以直接操作地址,提高程序运行速度,这在类的应用中尤其如此。
指针的主要用法:
1. 间接引用变量。
2. 指针作为函数的参数。可以在一个函数中,间接引用另一个函数中的变量。
3. 用指针处理数组。
4. 用指针处理字符串。指针处理字符串,更加灵活、功能强大。
5. 指向函数的指针。
这些用法中,最有用的是第2项和第4项。
选自《C语言程序设计—从入门到进阶》,人民邮电出版社。

C语言指针的用法

C语言_071_指针的定义和使用_上
1、指针的概念
  指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。
  先声明几个指针放着做例子:
  例一:
(1)int*ptr;
(2)char*ptr;
(3)int**ptr;
(4)int(*ptr)[3];
(5)int*(*ptr)[4];
  1、指针的类型
  从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型。让我们看看例一中各个指针的类型:
(1)int*ptr;
//指针的类型是int*
(2)char*ptr;
//指针的类型是char*
(3)int**ptr;
//指针的类型是int**
(4)int(*ptr)[3];
//指针的类型是int(*)[3]
(5)int*(*ptr)[4];
//指针的类型是int*(*)[4]
  怎么样?找出指针的类型的方法是不是很简单?
  2、指针所指向的类型
  当你通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么来看待。
  从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型。例如:
(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越来越熟悉时,你会发现,把与指针搅和在一起的"类型"这个概念分成"指针的类型"和"指针所指向的类型"两个概念,是精通指针的关键点之一。
本篇文章来源于 黑基网-中国最大的网络安全站点 原文链接:http://www.hackbase.com/lib/2008-03-09/13993.html

c语言指针用法有哪些 如何应用

在下文中,我将会告诉大家c语言的指针都有哪些用法。

c语言指针用法 int t 定义整型变量
int *p:p为指向整型数据的指针变量。
int a[n]:定义整型数组a,它有n个元素。
int *p[n]:定义指针数组p,它由n个指向整形数据的指针元素组成。
int (*p)[n]:p为指向含n个元素的一维数组的指针变量。
int f():f为返回整型函数值的函数。
int *f():p为返回一个指针的函数,该指针指向整型数据。
int (*f)():p为指向函数的指针,该函数返回一个整形值。
int **p:p是一个指针变量,它指向一个指向整形数据的指针变量。
c语言的应用 驱动程序,无论是操作系统或者单片机,对硬件的驱动除了汇编(比较繁琐),都是用C语言来编写。
系统服务,由于操作系统都提供了C语言的API,并且C语言的执行效率比较高,所以用C语言来写系统服务是最适合不过的。
应用软件,由于C语言没有成熟的开发框架,所以不适合开发大型应用程序。但也有一些对效率要求比较高的程序使用C语言开发,如Git。
应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。具体应用比如单片机以及嵌入式系统开发。
C语言是面向过程语言,C语言通过windows平台下编译的,是直接运行在windows平台下的,而Java始终是运行在他的虚拟机之上的;所以理论上C语言能做一些相对于比较底层的工作,像Java就不能编写Windows病毒。

C语言指针引用取值

指针是一个存储计算机内存地址的变量。从指针指向的内存读取数据称作指针的取值。指针可以指向某些具体类型的变量地址,例如int、long和double。指针也可以是void类型、NULL指针和未初始化指针。

根据出现的位置不同,操作符? * ?既可以用来声明一个指针变量,也可以用作指针的取值。当用在声明一个变量时,*表示这里声明了一个指针。其它情况用到*表示指针的取值。

&是地址操作符,用来引用一个内存地址。通过在变量名字前使用&操作符,我们可以得到该变量的内存地址。

// 声明一个int指针

int*ptr;

// 声明一个int值

int? val = 1;

// 为指针分配一个int值的引用

ptr = &val;

// 对指针进行取值,打印存储在指针地址中的内容

int deref = *ptr;

printf("%d\n", deref);

第2行,我们通过*操作符声明了一个int指针。接着我们声明了一个int变量并赋值为1。然后我们用int变量的地址初始化我们的int指针。接下来对int指针取值,用变量的内存地址初始化int指针。最终,我们打印输出变量值,内容为1。

第6行的&val是一个引用。在val变量声明并初始化内存之后,通过在变量名之前使用地址操作符&我们可以直接引用变量的内存地址。

第8行,我们再一次使用*操作符来对该指针取值,可直接获得指针指向的内存地址中的数据。由于指针声明的类型是int,所以取到的值是指针指向的内存地址存储的int值。

说穿了,指针就是地址吧,这里可以把指针、引用和值的关系类比为信封、邮箱地址和房子。一个指针就好像是一个信封,我们可以在上面填写邮寄地址。一个引用(地址)就像是一个邮件地址,它是实际的地址。取值就像是地址对应的房子。我们可以把信封上的地址擦掉,写上另外一个我们想要的地址,但这个行为对房子没有任何影响。

论述C语言中指针的概念和作用,并举例说明

自己去看这本书吧,上面有关于指针的上百个例子和详细的程序注释。
http://book.douban.com/subject/4209736/
C语言_071_指针的定义和使用_上
1、指针概念:变量的地址(计算机内存字节的编号)叫做指针,存放变量地址的变量叫指针变
量,
简言之,指针是用来存放地址的。
2、作用:指向这个变量或数组的首地址,是变量的间接引用方式。其值如果改变,变量的值或数组元素的值也会跟着改变。程序对变量的操作实际上是对变量所在的存储空间读取和写入数据。方便对变量的操作。
举例说明:
int
a=3;/*定义一个整型变量a,并赋初值3*/
int
*p;/*定义一个指针变量P*/
p=&a;/*让p指向a的首地址,也就是a的地址*/
程序为a分配一个2个字节的存储单元,假如2个字节的地址分别为(ABCD1和ABCD2,唯一),那么p里面放的值就是ABCD1,不是3。这时可通过p直接引用a,实际上*p=3。以后不管a存放在内存中的哪个地方,只用通过调用p就可以引用a。这时如果令*p=4,则最后的a值也为4。对于数组,指针是指向数组的首地址。

C语言指针怎么用?

我是这样理解的:
在C语言中,你需要定义变量,那么你所定义的这个变量本身你要理解两层含义:
(1)变量中的值是多少?有了值我们可以直接拿变量参与运算,eg.
int
a=5;在计算的时候a就表示5;
(2)变量存储在内存中的什么位置?变量的存储位置,就是变量的地址,那么这个地址可以用指针来存储,eg.
int
a=5,
*p=&a;
在这里p就是指针变量,存储了变量a的地址,这个时候你要是用a变量的值,即可以直接用a,也可以用*p,*p是通过p这个指针(也就是a的地址),间接的找到a,在程序中*p与a是等价的。
C语言_071_指针的定义和使用_上
在c语言中.指针被用来表示内存单元的地址,如果把这个地址用一个变量来保存,则
这种变量就称为指针变量。指针变量也分别有不同的类型,用来保存不同类型变量的地址。
严格地说.指针与指针变量是不同的,为了叙述方便,常常把指针变量就称为指针。
内存是计算机用于存储数据的存储器,以字节作为存储单元.为了能正确的访问内存单
元,必须为每一个内存单元编号,这个编号就称为该单元的地址。如果将一个旅店比喻成内
存,则旅店的房间就是内存单元,房间号码就是该单元的地址。
指针变量定义格式:
[存储类型]
数据类型
*指针变量名[=初始值]
指针变量一旦定义,必须采用赋值的方式将其与某个变量实体相联系,才能使用。指针
变量的赋值方式:
指针变量名;&普通变量名;

C语言 指针方法?

#include

int main()

{

int a,b,c,s[3],t;

int *x,*y,*z;//定义指针变量

x=&a;//将a的地址赋给指针x,下同

y=&b;

z=&c;

scanf("%d%d%d",x,y,z);

s[0]=*x;//将指针x所指向的变量值赋给数组s的第一个元素;依次类推

s[1]=*y;

s[2]=*z;

for(int i=0;i<3;i++)//冒泡排序

for(int j=0;j<3-i-1;j++)

if(s[j]
<s[j+1])
{

t=s[j];

s[j]=s[j+1];

s[j+1]=t;

}

for(int i=0;i<3;i++)

printf("%d ",s[i]);

return 0;

}

——————————————————————————

#include

void input(int *a)

{

int *p=a;//将数组a的首地址赋给指针p

for(int i=0;i<10;i++)

scanf("%d",&p[i]);//指针下标法输入

}

int max_min(int *a)

{

int *p=a;//将数组a的首地址赋给指针p

int max,min,x=0,y=0,t;

max=min=p[0];

for(int i=0;i<10;i++)

{

if(p[i]>=max)

{

max=p[i];

x=i;

}

if(p[i]<=min)

{

min=p[i];

y=i;

}

}

t=p[y];

p[y]=p[0];

p[0]=t;

t=p[9];

p[9]=p[x];

p[x]=t;

}

void output(int *a)

{

int *p=a;//将数组a的首地址赋给指针p

for(int i=0;i<10;i++)

printf("%d ",p[i]);//指针下标法输出

}

int main()

{

int a[11];

input(a);//调用函数,下同

max_min(a);

output(a);

return 0;

}

</s[j+1])

C语言指针有什么用?

表示成员选择(指针),选择结构体的成员变量。
1、结构:运算符 -> 是指向结构体成员运算符,结合方向为自左向右。
2、用法:对象指针->成员名。
举例说明如下:
扩展资料:
C语言指针的必要性。
指针解决了一些编程中基本的问题:
1、指针的使用使得不同区域的代码可以轻易的共享内存数据。当然也可以通过数据的复制达到相同的效果,但是这样往往效率不太好,因为诸如结构体等大型数据,占用的字节数多,复制很消耗性能。
但使用指针就可以很好的避免这个问题,因为任何类型的指针占用的字节数都是一样的(根据平台不同,有4字节或者8字节或者其他可能)。
2、指针使得一些复杂的链接性的数据结构的构建成为可能,比如链表,链式二叉树等等。
3、有些操作必须使用指针。如操作申请的堆内存。还有:C语言中的一切函数调用中,值传递都是“按值传递”的,如果要在函数中修改被传递过来的对象,就必须通过这个对象的指针来完成。
参考资料:
百度百科--指针

阅读更多 >>>  match函数的使用方法及实例,Excel表格的Match函数怎么使用?Match函数的使用教程

c语言指针用法教程

指针在C语言中有很大的作用,对于处理数组和字符起到了决定性作用,对于初学者来说,学习指针有一定难度,功夫不负有心人。下面就让我们看一看指针的内容吧。

c语言指针用法 变量的指针就是变量的地址。存放变量地址的变量是指针变量。即在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个变量的地址或称为某变量的指针。
为了表示指针变量和它所指向的变量之间的关系,在程序中用“*”符号表示“指向”,例如,
a代表指针变量,而*a是a所指向的变量,因此,下面两个语句作用相同:
i=3;
a=&i;
*a=3;
第二个语句的含义是将3赋给指针变量a所指向的变量。
指针变量的引用,指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具体的值。未经赋值的指针变量不能使用,否则将造成系统混乱,甚至死机。指针变量的赋值只能赋予地址,决不能赋予任何其它数据,否则将引起错误。在C语言中,变量的地址是由编译系统分配的。
为什么要使用指针 1)指针的使用使得不同区域的代码可以轻易的共享内存数据,这样可以使程序更为快速高效;
2)C语言中一些复杂的数据结构往往需要使用指针来构建,如链表、二叉树等;
3)C语言是传值调用,而有些操作传值调用是无法完成的,如通过被调函数修改调用函数的对象,但是这种操作可以由指针来完成,而且并不违背传值调用。

网站数据信息

"指针c语言用法,C语言 指针方法?"浏览人数已经达到19次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:指针c语言用法,C语言 指针方法?的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!