c语言中的指针应该怎么理解?
1、指针的值,或者叫指针所指向的内存区或地址。 指针的值是指针本身存储的数值,这个值将被编译器当作一个地址,而不是一个一般的数值。在32位程序里,所有类型的指针的值都是一个32位整数,因为32位程序里内存地址全都是32位长。
2、指针就是用来存放地址的。比如int i=3,*p;p=程序在编译时,系统就会给这个变量i分配2个字节的内存单元,而内存区的每个字节都有一个编号。
3、这个单元的地址,*p=5;就相当于a[3]=5;的操作,p++;后p指针就指向a[4]。在操作大块数据时,一般记录首地址(数组指针),然后根据首地址再加 上偏移量来访问整个数据,在你程序中写a[3]时,计算机就会取a数组对应 的首地址再加3个整型偏移量来访问相应数据。
4、指针概念:变量的地址(计算机内存字节的编号)叫做指针,存放变量地址的变量叫指针变 量,简言之,指针是用来存放地址的。作用:指向这个变量或数组的首地址,是变量的间接引用方式。其值如果改变,变量的值或数组元素的值也会跟着改变。
c语言中的指针是什么?
在指针的算术运算中,指针所指向的类型有很大的作用。 指针的类型(即指针本身的类型)和指针所指向的类型是两个概念。当你对C越来越熟悉时,你会发现,把与指针搅和在一起的类型这个概念分成指针的类型和指针所指向的类型两个概念,是精通指针的关键点之一。
指针就是1个变量,他也是一个存放内容的内存空间。指针存放的内容是另一个内存空间的起始地址。不同于一般变量存放的就是变量值。
表示成员选择(指针),选择结构体的成员变量。结构:运算符 - 是指向结构体成员运算符,结合方向为自左向右。用法:对象指针-成员名。
指针是一个用来指示一个内存地址的计算机语言的变量或中央处理器中的寄存器。指针一般出现在比较近机器语言的语言。如c语言。指针一般指向一个函数或一个变量。在使用一个指针时,一个程序既可以直接使用这个指针所储存的内存地址,又可以使用这个地址里储存的函数的值。
简单地说指针就是指向变量和对象的地址。指针的用途非常广泛,比如如果你想通过函数改变一个变量的值,就得用指针而不能用值传递。还有在很多时候变量,特别是对象的数据量实在太大,程序员就会用指针来做形参,只需要传递一个地址就行,大大提高了效率。
c++的函数指针是怎么用的呀?
在指针的算术运算中,指针所指向的类型有很大的作用。 指针的类型(即指针本身的类型)和指针所指向的类型是两个概念。当你对C越来越熟悉时,你会发现,把与指针搅和在一起的类型这个概念分成指针的类型和指针所指向的类型两个概念,是精通指针的关键点之一。
函数指针有两个用途:调用函数和做函数的参数。
在C语言中规定,一个函数总是占用一段连续的内存区, 而函数名就是该函数所占内存区的首地址。 我们可以把函数的这个首地址 ( 或称入口地址 ) 赋予一个指针变量, 使该指针变量指向该函数。然后通过指针变量就可以找到并调用这个函数。我们把这种指向函数的指针变量称为 函数指针变量 。
C语言函数前面加个指针是什么意思?
1、C语言函数前面加个指针 表示函数的返回值是指针类型的。
2、函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。函数指针有两个用途:调用函数和做函数的参数。
3、表示成员选择(指针),选择结构体的成员变量。结构:运算符 - 是指向结构体成员运算符,结合方向为自左向右。用法:对象指针-成员名。
c语言函数指针的作用。
第二,指针使得一些复杂的链接性的数据结构的构建成为可能,比如链表,链式二叉树等等。第三,有些操作必须使用指针。如操作申请的堆内存。还有:C语言中的一切函数调用中,值传递都是“按值传递”的。如果要在函数中修改被传递过来的对象,就必须通过这个对象的指针来完成。
函数指针有两个用途:调用函数和做函数的参数。
简言之,指针是用来存放地址的。作用:指向这个变量或数组的首地址,是变量的间接引用方式。其值如果改变,变量的值或数组元素的值也会跟着改变。程序对变量的操作实际上是对变量所在的存储空间读取和写入数据。方便对变量的操作。
指针的用途非常广泛,比如如果你想通过函数改变一个变量的值,就得用指针而不能用值传递。还有在很多时候变量,特别是对象的数据量实在太大,程序员就会用指针来做形参,只需要传递一个地址就行,大大提高了效率。简单地说指针就是指向变量和对象的地址。
在没有C++语言的年代,没有面向对象、模板的语法支持,struct中还不能定义函数,用C语言想要对业务功能(算法,此处即指函数)进行抽象,不想依赖具体的数据结构/数据类型,此时就必须用指向函数的指针来实现抽象与具体的分离,该函数的入参可以是void*,这样调用者就可以传入任意类型的参数了。
C语言,关于指针的。。疑惑。。
指针的值,或者叫指针所指向的内存区或地址 指针的值是指针本身存储的数值,这个值将被编译器当作一个地址,而不是一个一般的数值。在32位程序里,所有类型的指针的值都是一个32位整数,因为32位程序里内存地址全都是32位长。
函数指针就是指向函数的指针的,那句定义是指定了该指针能指向的函数的类型(包括参数、返回值类型),指针p指向函数fun的赋值语句为 p=fun 也是好理解的,因为我们知道函数名本身就是函数入口地址,所以不必加&之类的。
第二个问题:既然你觉得矛盾了,所以你这个结论“我们是在指针指向的确定的存储单元里面初始化数据,而不是数据有了以后,让指针指向我们的数据”肯定是不准确的。跟已有和未有是没有关系的,关键在于是否初始化,就这么简单。