指针怎么用

1.c语言中指针怎么使用

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。

因为在函数调用时,实参和形参之间只是值传递。但我们使用指针结果就不一样了,如:int main() {int a=10;int b=15;test(&a,&b);printf("a=%d,b=%d\n",a,b);return 0;} void test(int * x,int *y) {int tmp;tmp=*x;*x=*y;*y=tmp;} 输出结果a=15,b=10。

变量a和b的值发生了交换。这是因为我们利用指针访问变量的存储单元,间接修改变量的值。

2、指针指向数组:定义一个数组并初始化,int array[5]={2,5,12,7,8},定义一个指针变量并把数组的地址赋给它,int *p=array,注意数组名就是数组的地址,而且数组的地址就是首元素的地址。因此我们的指针变量就指向了数组的首元素,*p=2。

如果把(p+1),那么指针变量就指向了数组的下一个元素5,因此我们可以利用指针来遍历数组的各个元素:int main() {int array[5]={2,5,12,7,8};int *p =array;for(int i=0;i3、指针指向字符串:我们都知道用数组存储字符串,如char name[20]="jack",上面已经简单讲述了指针指向数组,所以我们可以这样做,char *name="jack",指针变量指向字符串的首个字符并可以依次访问字符串的各个字符。4、指针指向函数:我们需要知道怎样表示一个指针指向函数,说白了就是语法要正确,下面我也取一个代码块来说明一下:int sum(int x,int y) {return x+y;} int main() {int a=5;int b=6;int (*p)(int,int);p=sum;int result=(*p)(a,b);printf("The result is %d\n",result);return 0;} 不难发现上面代码块里语句(*p)(a,b)可以用p(a,b)来代替,因为p和sum就是一样的,只是用前者可能更容易理解一点。

而我们要知道怎样定义一个指针指向函数,int (*p)(int,int)这是固定写法,前面的int是指针将来指向的函数的返回值的类型,如果没有函数返回值,那就是void,后面括号里的两个int当然就是指针将指向的函数的形参。5、指针指向结构体:我们首先首先定义一个结构类型,struct student { char *name; int ages;}; 再根据类型定义结构体变量struct student stu={"Rose",15}; 定义一个指针指向结构体类型,struct student *p;把结构体变量stu的地址赋给指针变量p,p=&stu; 我们可以有3种方式来访问结构体中的属性ages:stu.ages=15;(*p).ages=15;p->ages=15;不过第三种方式在C语言中只能用来指向结构体。

扩展资料:指针的用途非常广泛,比如如果你想通过函数改变一个变量的值,就得用指针而不能用值传递。还有在很多时候变量,特别是对象的数据量实在太大,程序员就会用指针来做形参,只需要传递一个地址就行,大大提高了效率。

简单地说指针就是指向变量和对象的地址。基本说明:1、在计算机中,所有的数据都是存放在存储器中的。

一般把存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等;2、为了正确地访问这些内存单元,须为每个内存单元编上号。 根据一个内存单元的编号即可准确地找到该内存单元。

既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。内存单元的指针和内存单元的内容是两个不同的概念。

参考资料:搜狗百科-指针。

2.c语言中指针怎么使用

1、使用场景使用指针时,必须将它指向一个变量的地址或者为它分配空间方能使用,如下所示:#include#include int main(int argc, char const *argv[]){int a[5]={0,1,2,3,4};int *b,*d;int c=2;int *e=a; //e指向a数组首地址//*b=2; 无法直接初始化//printf("%d\n", *b);e=e+2; //移动两个地址单元d=&c; //d指向c的地址来表示值c=4; //修改原c变量的值,d指针的值会发生改变b=(int *)malloc(sizeof(int));//为b分配一个int型空间来直接存储值*b=2;//分配空间后可以直接赋值了printf("this is e,b,c,d :%d %d %d %d\n",*e,*b,c,*d);2、类型说明(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",*a,*(a+1),a);扩展资料:指针的运算指针指向变量地址,若原变量的内容发生了变化,它本身也会发生变化,指针之间的运算一般为值运算和地址运算(1)值运算:直接通过*运算方式,像a+*(a+1),结果为第一个元素与第二个元素相加。

int nums[5]={0,1,2,3,4};int *a=nums;(2)地址运算:通过a+i的方式.指针会指向a的下i个地址。int nums[5]={0,1,2,3,4};int *a=nums;a=a+2;printf("%d\n",*a);结果输出2。

参考资料来源 :指针-百度百科。

3.指针该怎么用

一、什么是指针

其实指针就像是其它变量一样,所不同的是一般的变量包含的是实际的真实的数据,而指针包含的是一个指向内存中某个位置的地址。

二、指针的定义

int *pNumber;

这样就定义了int类型的指针。指针变量名称以p为首字符,这是程序员通常在定义指针时的一个习惯,以提高便程序的阅读性,表示这是个指针。另外,虽然int* pNumber和int *pNumber是相同的,但是使用后一种的编程风格更好一些。比如:

int *pNumber1,*pNumber2;表示定义两个指针,*号和变量靠近;反之,我们可能会定义成int* pNumber1,pNumber2,这将是一个错误的定义,pNumber2就不是指针了。

三、指针的优点

a.为函数提供修改调用变元的灵活手段;

b.支持C 动态分配子程序

c.可以改善某些子程序的效率

>>;在数据传递时,如果数据块较大(比如说数据缓冲区或比较大的结构),这时就可以使用指针传递地址而不是实际数据,即提高传输速度,又节省大量内存。

d.为动态数据结构(如二叉树、链表)提供支持

四、指针赋值及转换:

a)同类型直接赋值,异类型要进行转换。

b)强制转换:可以把表达式结果硬性转换为指定类型

c)char * p;(int *)p 把p强制转换为int型,记住转换过程中要注意两个类型的大小,大转小时可能会有数据丢失(如int到double)

d)涉及void *的:

c 中void *类型可赋值给任何类型的指针,反之亦然

c 中都需要强制转换

void * 可看作无穷大能接纳任何类型赋值,反之不行int * p =9;void * t= p(正确);p=t(错误)

e)不涉及void *的都要强制转换

五、指针和数组

不带下标的数组名返回数组的起始地址,即数组首元素的地址,所以对数组的访问可有两种方式:数组下标和指针算术。例如:

char* pChar;

char chs[100];

pChar = chs;这样pChar就指向chs数组的首地址。

六、数组与引用

a.引用只是变量的别名,而不是指向变量的指针(区别于取址运算符"&")不占内存空间,对变量引用的改变其相应的变量也会改变。

b.不能对引用使用指针间接运算符“*”进行复引用操作

c.引用必须在声明时初始化 int &c = count;(c是count的别名)

七、指针空间的动态分配与回收

动态分配是指针的关键技术。它是用来在不必定义变量的情况下分配内存和让指针去指向它们。分配了内存,别忘了回收。你动态地分配了一个内存空间,可它绝不会被自动删除。也就是说,这块内存空间会一直存在,直到你告诉电脑你已经使用完了。可结果是,你并没有告诉电脑你已不再需要这块内存空间了,所以它会继续占据着内存空间造成浪费,甚至你的程序运行完毕,其它程序运行时它还存在。当这样的问题积累到一定程度,最终将导致系统崩溃。所以这是很重要的,在你用完它以后,请释放它的空间。

4.c语言指针用法

原发布者:zzbo2022

让你不再害怕指针前言:复杂类型说明要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,要理解复杂类型其实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其优先级和运算优先级一样,所以我总结了一下其原则:从变量名处起,根据运算符优先级结合,一步一步分析.下面让我们先从简单的类型开始慢慢分析吧:intp;//这是一个普通的整型变量int*p;//首先从P处开始,先与*结合,所以说明P是一个指针,然后再与int结合,//说明指针所指向的内容的类型为int型.所以P是一个返回整型数据的指针intp[3];//首先从P处开始,先与[]结合,说明P是一个数组,然后与int结合,//说明数组里的元素是整型的,所以P是一个由整型数据组成的数组int*p[3];//首先从P处开始,先与[]结合,因为其优先级比*高,所以P是一个数组,//然后再与*结合,说明数组里的元素是指针类型,然后再与int结合,//说明指针所指向的内容的类型是整型的,所以P是一个由返回整型数据//的指针所组成的数组int(*p)[3];//首先从P处开始,先与*结合,说明P是一个指针,然后再与[]结合//(与"()"这步可以忽略,只是为了改变优先级),说明指针所指向的//内容是一个数组,然后再与int结合,说明数组里的元素是整型的.//所以P是一个指向由整型数据组成的数组的指针int**p;//首先从P开始,先与*结合,说是P是一个指针,然

5.指针的作用是什么

指针的作用:

1、指针就是指向一个特定内存地址的一个变量。c语言指针可以有效地表示复杂的数据结构、动态分配内存、高效地使用数组和字符串、使得调用函数时得到多个返回值等。指针的应用往往与数组联系在一起,是最频繁的,也是最基础的。在定义数组和函数时,系统都会为其自动分配一个指向其首地址的指针。对于一个数组,其名称就是一个指针变量。

2、指针只是一个变量,它存储一个内存地址。如果传入一个地址,比传入一个struct效率要高,因为少了一个拷贝过程。

3、指针能够有效的表示数据结构,能动态分配内存,能较方便的使用字符串,有效的使用数组。

4、指针直接与数据等的储存地址有关,是比较重要的。比如,值传递不如地址传递高效,因为值传递先从实参的地址中提出值,再赋值给形参带入函数计算;而指针则把形参的地址直接指向实参地址,使用时直接提出数据,使效率提高,特别在频繁赋值等情况下。

6.指针的作用是什么啊

第一,指针的使用使得不同区域的代码可以轻易的共享内存数据。当然小伙伴们也可以通过数据的复制达到相同的效果,但是这样往往效率不太好。因为诸如结构体等大型数据,占用的字节数多,复制很消耗性能。

但使用指针就可以很好的避免这个问题,因为任何类型的指针占用的字节数都是一样的(根据平台不同,有4字节或者8字节或者其他可能)。

第二,指针使得一些复杂的链接性的数据结构的构建成为可能,比如链表,链式二叉树等等。

第三,有些操作必须使用指针。如操作申请的堆内存。还有:C语言中的一切函数调用中,值传递都是“按值传递”的。如果要在函数中修改被传递过来的对象,就必须通过这个对象的指针来完成。

扩展资料

指针的表现形式是地址,核心是指向关系指针运算符“*”的作用是按照指向关系访问所指向的对象.如果存在A指向B的指向关系,则A是B的地址,“*A”表示通过这个指向关系间接访问B。

如果B的值也是一个指针,它指向C,则B是C的地址,“*B”表示间接访问C如果C是整型、实型或者结构体等类型的变量或者是存放这些类型的数据的数组元素,则B(即C的地址)是普通的指针,称为一级指针,用于存放一级指针的变量称为一级指针变量。

参考资料来源:百度百科-指针

7.C语言指针怎么用

在c语言中.指针被用来表示内存单元的地址,如果把这个地址用一个变量来保存,则

这种变量就称为指针变量。指针变量也分别有不同的类型,用来保存不同类型变量的地址。

严格地说.指针与指针变量是不同的,为了叙述方便,常常把指针变量就称为指针。

内存是计算机用于存储数据的存储器,以字节作为存储单元.为了能正确的访问内存单

元,必须为每一个内存单元编号,这个编号就称为该单元的地址。如果将一个旅店比喻成内

存,则旅店的房间就是内存单元,房间号码就是该单元的地址。

指针变量定义格式:

[存储类型] 数据类型 *指针变量名[=初始值]

指针变量一旦定义,必须采用赋值的方式将其与某个变量实体相联系,才能使用。指针

变量的赋值方式:

指针变量名;&普通变量名;

指针怎么用

转载请注明出处育才学习网 » 指针怎么用

知识

工伤官司证人证言怎么写

阅读(222)

本文主要为您介绍工伤官司证人证言怎么写,内容包括工伤认定申请中的证人证言怎么写,工伤证人证言怎么写,工伤认定中的证人证言一般该怎么写。证人证言是证人就其所感知的案件情况向法院所作的陈述。因为各种诉讼案件都是社会上发生的,案件一

知识

韩语固有数词21怎么写

阅读(236)

本文主要为您介绍韩语固有数词21怎么写,内容包括韩语固有数词199怎么写,数字21用韩语,韩语的固有数词25怎么写是这样吗:。是的??????韩文使用两套数词,一套是韩文固有的,一套是从中文借进去的。在日常对话中,两套也常常被使用到。 固有数词:(固有

知识

安全员特长怎么写

阅读(337)

本文主要为您介绍安全员特长怎么写,内容包括职业特长怎么写,特长怎么写,专业特长怎么写。忠实诚信,讲原则,说到做到,决不推卸责任;有自制力,做事情始终坚持有始有终,从不半途而废;肯学习,有问题不逃避,愿意虚心向他人学习;自信

知识

初中生入团志愿书怎么写

阅读(289)

本文主要为您介绍初中生入团志愿书怎么写,内容包括初中入团志愿书怎么填写,初中入团志愿书怎么写,初中生的入团志愿书怎么写要有介绍个人情况的。敬爱的团支部: 我志愿加入中国共产主义青年团。 我认识到中国共产主义青年团是青年群众的先进

知识

茶叶前言怎么写

阅读(228)

本文主要为您介绍茶叶前言怎么写,内容包括茶具前言怎么写,茶叶简介怎么写,我在朋友圈卖点茶叶的开头词怎么写。茶具,古代亦称茶器或茗器。“茶具”一词最早在汉代已出现。据西汉辞赋家王褒《憧约》有“烹茶尽具,已盖藏”之说,这是我国最早提到

知识

白勺的连笔字怎么写

阅读(316)

本文主要为您介绍白勺的连笔字怎么写,内容包括行楷白勺“的”写法,行楷白勺“的”写法,白勺的的拼音怎么写。的”用连笔字书写如下图所示;

知识

小小展销会怎么写

阅读(209)

本文主要为您介绍小小展销会怎么写,内容包括小小展销会的作文怎么写三年级的,小小展销会的作文怎么写,最少60个字,作文小小展销会。星期一,老师说要和三(8)班联合举办小小展销会,我回家找了材料,设计了“店面”,第二天便去“招兵买马”了.第二天

知识

订婚换号怎么写

阅读(221)

本文主要为您介绍订婚换号怎么写,内容包括订婚换帖(换号)的具体书写格式是什么,订婚换书写法,结婚换号帖子怎么写求格式。双方家长中意后,议日举行订婚仪式,俗叫换书,也叫换婚忆,民间还叫“传书”,是迎亲前婚礼的一种礼仪。换婚书要选在双月双日进

知识

制片方案怎么写

阅读(188)

本文主要为您介绍制片方案怎么写,内容包括拍摄方案怎么写,文艺演出实施方案怎么写,方案怎么写。其实就跟写活动策划一样的:方案名称 尽可能具体的写出策划名称如“*年*月**学校(公司)**活动策划书”置于页面中央当然可以写出正标题后

知识

兰雪英文怎么写

阅读(199)

本文主要为您介绍兰雪英文怎么写,内容包括大家好,我的名字里有兰雪两个字,在写简历想起个英文名字,该取,pig的英文怎么写啊,欧若拉的英文如何写。流氓兔档案姓名:MashiMaro中译:猎奇小兔、霸王兔、流氓兔、贱兔……出生地:韩国出生年:1999年5月

知识

文化教育学术研讨会的论文怎么写

阅读(254)

本文主要为您介绍文化教育学术研讨会的论文怎么写,内容包括研讨论文怎么写(就是格式什么的),问研讨的主题是“高职学生职业,教育教学论文怎么写啊,晋级要用到的,教育论文怎么写。研讨如何写论文 广义来说,凡属论述科学技术内容的作品,都称作科

知识

素质登高申请书怎么写

阅读(246)

本文主要为您介绍素质登高申请书怎么写,内容包括中学生综合素质评价申请书怎么写,申请书怎么写,申请书怎么写。本人自入学以来,一直遵守学校的各项规章制度,具有良好的思想道德品质,各方面表现优秀。有强烈的集体荣誉感和工作责任心,坚持实事求

知识

学生学习过称中的评价怎么写

阅读(178)

本文主要为您介绍学生学习过称中的评价怎么写,内容包括怎么写学生学习活动评价,学生表现评价怎么写,学生学业评价报告单中的学生自我评价如何写。学生学习活动评价应按照以下八个方面进行编写:是否认真专注学生是否集中和维持这种使他倾全力

知识

工作感悟开头怎么写

阅读(173)

本文主要为您介绍工作感悟开头怎么写,内容包括工作感想开头怎么写,心得体会开头怎么写,一线工作员工心得体会开头怎么写。工作总结. 工作总结一般包括三部分: 1,收获,2不足,3下一步的计划,现举列如下: 个人工作总结(全年) 尊敬的领导,现就本人一年来

知识

手表指针英语怎么写的

阅读(310)

本文主要为您介绍手表指针英语怎么写的,内容包括手表的指针用英语怎么说,手表的指针用英语怎么说,钟表指针的英文。钟表指针的英文:Clock pointer例:Good relations are like needles of clock. 美好的

知识

指针英语怎么写

阅读(176)

本文主要为您介绍指针英语怎么写,内容包括手表的指针用英语怎么说,c语言中,“指针”概念用英语是如何表示的,c语言中,“指针”概念用英语是如何表示的。hand名词 n. [C]1.手She went to prepare him a meal with her own hands. 她

知识

函数指针怎么写

阅读(204)

本文主要为您介绍函数指针怎么写,内容包括c++的函数指针怎么写,谁帮我写一个指针函数的实例简单的,函数指针是什么。如:有一函数void fun(void);//这是fun函数的声明fun(){};//这是fun函数的调用fun;//当只是函数的名字的

知识

指针数组怎么写

阅读(183)

本文主要为您介绍指针数组怎么写,内容包括指针数组作为实参怎么写,C语言指向指针数组的指针怎么写,c语言如何写一个指向指针数组的指针。#include <stdio.h>int main(int argc, char *argv[]){char *field_point

知识

指针式万用表怎么读数

阅读(587)

本文主要为您介绍指针式万用表怎么读数,内容包括指针万用表欧姆档读数,万用表怎么读数,指针式万用表如何读数。当万用表的档位搬到X1的档位时,看表盘上的欧姆(Ω)刻度,每一格就代表1欧,比如当指针指到15格(即15)的位置,这时的电阻值就是15X

知识

指针万用表怎么读数

阅读(710)

本文主要为您介绍指针万用表怎么读数,内容包括指针万用表怎么读数,指针万用表刻度盘怎么看读数,指针式万用表如何读数。读数方法:读数值=标示值+小格值*倍制值如指针位置在200过4小格,当转换开关档在ACV25档时。读数=20+4*0.5=22v ;当转

知识

手表之前指针夜光的过了一阵没带怎么不夜光了

阅读(198)

一般手表的夜光是上的夜光涂料,这种材料的特点是自身是不会发光的,通俗的说在明亮的环境下它会吸收光,在黑暗的环境中就会亮,如果一直放在黑暗的环境中,那它自身是不会亮的,而且原本亮的,如果在黑暗的环境中呆时间久了,比如一直放在抽屉中,那它的

知识

指针的成语有哪些

阅读(285)

1.无时无刻:时时刻刻,表示毫不间断。2.不三不四:意思是不像这也不像那。即不像样子,不伦不类。形容不正派或不像样子。3.忐忑不安:心里七上八下安定不下来,形容心神不定。4.一分为二:哲学用语,指事物作为矛盾的统一体,都包含着相互矛盾对立的两个

[/e:loop]