C语言指针,怎么理解C语言里的指针

1,怎么理解C语言里的指针指针类似于是电脑里面的“桌面快捷方式”,指向了实际的文件内容快捷方式(指针)指向了文件(变量)的地址 。当快捷方式(指针)里面的内容(值)变化的时候 , 文件(变量)的内容(值)也跟着变化 。当单独删除快捷方式(指针)的时候 , 文件(变量)仍然存在,并没有因此而删除
2 , c语言指针是什么 c语言指针介绍1、c语言指针其实是一个整形变量,与其它数据不同的是,它的作用是用来存储其它变量的地址 。指针(Pointer)是编程语言中的一个对象 , 利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值 。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元 。2、因此,将地址形象化的称为“指针” 。意思是通过它能找到以它为地址的内存单元 。3、再打个比方:有个人让你去麦当劳帮我买个雪糕,那么麦当劳是这个变量a,但是那个人现在把麦当劳所在的地址写在纸上给你,那么这张纸就可以看做一个指向麦当劳的指针 。
3,关于C语言 指针定义了一个指向int型的指针pointer, 这里指向的是number,记住,pointer的值为number的地址,但是*pointer的值为number的值,即为10*代表指针 &代表取变量地址int* pointer = &number;代表取整型变量number的地址赋值给pointer把number的地址赋给指针变量pointer吧 【C语言指针,怎么理解C语言里的指针】
4,c语言指针详解指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址 。数据在内存中的地址也称为指针,如果一个变量存储了一份数据的指针 , 我们就称它为指针变量 。计算机中所有的数据都必须放在内存中,不同类型的数据占用的字节数不一样,例如 int 占用 4 个字节,char 占用 1 个字节 。为了正确地访问这些数据,必须为每个字节都编上号码 , 就像门牌号、身份证号一样,每个字节的编号是唯一的,根据编号可以准确地找到某个字节 。C语言用变量来存储数据 , 用函数来定义一段可以重复使用的代码,它们最终都要放到内存中才能供 CPU 使用 。数据和代码都以二进制的形式存储在内存中,计算机无法从格式上区分某块内存到底存储的是数据还是代码 。当程序被加载到内存后 , 操作系统会给不同的内存块指定不同的权限,拥有读取和执行权限的内存块就是代码,而拥有读取和写入权限(也可能只有读取权限)的内存块就是数据 。CPU 只能通过地址来取得内存中的代码和数据,程序在执行过程中会告知 CPU 要执行的代码以及要读写的数据的地址 。如果程序不小心出错,或者开发者有意为之,在 CPU 要写入数据时给它一个代码区域的地址,就会发生内存访问错误 。这种内存访问错误会被硬件和操作系统拦截 , 强制程序崩溃,程序员没有挽救的机会 。变量名和函数名为我们提供了方便,让我们在编写代码的过程中可以使用易于阅读和理解的英文字符串 , 不用直接面对二进制地址,那场景简直让人崩溃 。需要注意的是,虽然变量名、函数名、字符串名和数组名在本质上是一样的,它们都是地址的助记符,但在编写代码的过程中,我们认为变量名表示的是数据本身,而函数名、字符串名和数组名表示的是代码块或数据块的首地址 。扩展资料指针使用(* 和 &)*&a可以理解为*(&a),&a表示取变量 a 的地址(等价于 pa),*(&a)表示取这个地址上的数据(等价于 *pa),绕来绕去 , 又回到了原点,*&a仍然等价于 a 。&*pa可以理解为&(*pa),*pa表示取得 pa 指向的数据(等价于 a),&(*pa)表示数据的地址(等价于 &a),所以&*pa等价于 pa 。对星号*的总结在我们目前所学到的语法中,星号*主要有三种用途:1、表示乘法,例如int a = 3, b = 5, c;c = a * b;,这是最容易理解的 。2、表示定义一个指针变量,以和普通变量区分开 , 例如int a = 100;int *p = &a; 。3、表示获取指针指向的数据,是一种间接操作,例如int a, b, *p = &a;*p = 100;b = *p; 。5,C语言中指针是什么1.指针就是1个变量 , 他也是一个存放内容的内存空间 。2.指针存放的内容是另一个内存空间的起始地址 。不同于一般变量存放的就是变量值 。3.取值操作符*对于指针的作用是取得指针变量存放的内存地址里面的值,不加*取出的是指针变量存放的值(就是一个内存地址)上面3步,step by step 你就理解了.指针就是地址.c语言的指针很难学,指针是一个变量,如果指针*p,p就是地址哦,*p是变量.指针就是另一个变量在内存中的地址参数,它也占用内存空间 , 里面放的是另一个内存地址指针是c语言的难点 , 很难被学生接受 。本部分主要演示:指针的定义,普通变量的定义,建立关联,直接赋值 , 间接赋值 。为了简便,暂时只讨论整形 。设计:在组合框中选择操作的类型,在弹出的对话框中做进一步的处理 。二十个编辑模拟内存,十个为整形,十个为指针区.由于“内存”的限制,很容易“内存不足” 。二十个静态控件显示变量名及模拟内存地址 。整形数组记录数值,字符串数组记录变量名,注意对应 。定义:加上变量名 , 并随机赋初值 。关联:在对话框的组合框中选择变量,前有提示信息"=&",改变指针的值,并将相应的编辑框连线 。赋值:在个对话框中选择整形变量或指针变量,并输入值 。有必要的话,将CEdit改成CRichEdit,用SetSel反向显示正在处理的模拟空间 。测试:1,注意空懑状态 。2,多次重复同一操作 。6,C语言中的指针是什么详细说明指针是C语言中广泛使用的一种数据类型 。运用指针编程是C语言最主要的风格之一 。利用指针变量可以表示各种数据结构;能很方便地使用数组和字符串;并能象汇编语言一样处理内存地址,从而编出精练而高效的程序 。指针极大地丰富了C语言的功能 。学习指针是学习C语言中最重要的一环,能否正确理解和使用指针是我们是否掌握C语言的一个标志 。同时,指针也是C语言中最为困难的一部分 , 在学习中除了要正确理解基本概念 , 还必须要多编程,上机调试 。只要作到这些,指针也是不难掌握的 。地址指针的基本概念在计算机中,所有的数据都是存放在存储器中的 。一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不等 , 如整型量占2个单元,字符量占1个单元等,在前面已有详细的介绍 。为了正确地访问这些内存单元,必须为每个内存单元编上号 。根据一个内存单元的编号即可准确地找到该内存单元 。内存单元的编号也叫做地址 。既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针 。内存单元的指针和内存单元的内容是两个不同的概念 。可以用一个通俗的例子来说明它们之间的关系 。我们到银行去存取款时, 银行工作人员将根据我们的帐号去找我们的存款单,找到之后在存单上写入存款、取款的金额 。在这里 , 帐号就是存单的指针,存款数是存单的内容 。对于一个内存单元来说,单元的地址即为指针,其中存放的数据才是该单元的内容 。在C语言中,允许用一个变量来存放指针,这种变量称为指针变量 。因此,一个指针变量的值就是某个内存单元的地址或称为某内存单元的指针 。图中 , 设有字符变量C,其内容为“K”(ASCII码为十进制数 75),C占用了011A号单元(地址用十六进数表示) 。设有指针变量P,内容为011A,这种情况我们称为P指向变量C,或说P是指向变量C的指针 。严格地说,一个指针是一个地址,是一个常量 。而一个指针变量却可以被赋予不同的指针值,是变量 。但常把指针变量简称为指针 。为了避免混淆,我们中约定:“指针”是指地址,是常量 , “指针变量”是指取值为地址的变量 。定义指针的目的是为了通过指针去访问内存单元 。既然指针变量的值是一个地址 , 那么这个地址不仅可以是变量的地址,也可以是其它数据结构的地址 。在一个指针变量中存放一个数组或一个函数的首地址有何意义呢? 因为数组或函数都是连续存放的 。通过访问指针变量取得了数组或函数的首地址,也就找到了该数组或函数 。这样一来,凡是出现数组,函数的地方都可以用一个指针变量来表示,只要该指针变量中赋予数组或函数的首地址即可 。这样做,将会使程序的概念十分清楚 , 程序本身也精练,高效 。在C语言中,一种数据类型或数据结构往往都占有一组连续的内存单元 。用“地址”这个概念并不能很好地描述一种数据类型或数据结构 , 而“指针”虽然实际上也是一个地址,但它却是一个数据结构的首地址,它是“指向”一个数据结构的,因而概念更为清楚,表示更为明确 。这也是引入“指针”概念的一个重要原因 。变量的指针和指向变量的指针变量变量的指针就是变量的地址 。存放变量地址的变量是指针变量 。即在C语言中,允许用一个变量来存放指针,这种变量称为指针变量 。因此,一个指针变量的值就是某个变量的地址或称为某变量的指针 。为了表示指针变量和它所指向的变量之间的关系,在程序中用“*”符号表示“指向”,例如,i_pointer代表指针变量,而*i_pointer是i_pointer所指向的变量 。因此,下面两个语句作用相同:i=3;*i_pointer=3;第二个语句的含义是将3赋给指针变量i_pointer所指向的变量 。也是一种变量 , 不过是用过存储地址的 。比如int*它就是用来存储int型变量的地址 。char*则是用来存储char型变量的地址 。

    推荐阅读