本文针对C语言初学者详细讲述了指针的用法,并配以实例进行说明。具体分析如下:
对于C语言初学者来说,需要明白指针是啥?重点就在一个“指”上。指啥?指的地址。啥地址?内存的地址。
上面说明就是指针的本质了。
这里再详细解释下。数据存起来是要存在内存里面的,就是在内存里圈出一块地,在这块地里放想放的东西。变量关心的是这块地里放的东西,并不关心它在内存的哪里圈的地;而指针则关心这块地在内存的哪个地方,并不关心这块地多大,里面存了什么东西。
指针怎么用呢?下面就是基本用法:
上面两行声明了三个int类型的变量a,b,c,一个double类型的变量f。下面就是指针的用法了,声明变量的时候只需要在变量前面加上“*”这个符号就说明了这个变量是指针,而前面的“int”说明指针指向的内存里面存放着int类型的变量。
变量和指针的声明也可以放到一起:
然后就是新的运算符——“&”了。是不是很熟悉?没错,这个就是scanf里面的那个“&”。它是取地址符,即用在变量前面使用这个运算符,能够获得这个变量在内存里面的地址。由此就可以解释scanf双引号后面为何要使用“&”了,就是将前面按照格式读进来的数据,按照后面给出的地址直接填进内存里,所以scanf双引号后面提供的参数实质上并不是希望赋值的变量,而是希望保存数据的地址。所以,例如如果有int类型的变量a,同时有指向它的指针pt,那么下面两句是等效的:
回到指针,接下来就是修改指针指向变量的值了,怎么弄呢?下面就是例子:
不要把“*”给忘了哈。
至于这个“*”符号,可以这么理解:需要用到指针指向的内容时,加上“*”,此时它等同于一个变量;只是需要指针的地址时,不需要加“*”,此时它代表内存的地址。
而指针也可以改变它指向的地址:
很多教材都在强调野指针的问题,什么叫野指针?呃……可以叫做“撒野”的指针。什么意思呢?举个例子,如果声明了一个指针pt,而没让他指向任何变量,那么它指向哪里呢?答案是:不确定,整个内存哪里都有可能被它指到。如果此时修改它指向的内容,而它恰好指向了系统某个关键的进程……那后果就比较严重了。所以指针用之前一定让它指点东西。如果想让它什么都不指,怎么办?很简单,指向NULL即可。
这就是指针了。可能看完很多人会觉得本来用变量你又加了个指针指不是更麻烦?我要说的是,这只是最基本的用法。C语言的数组中,还有一些复杂的数据结构都需要用到指针。所以这些基础的东西还是有必要加以熟练掌握的。
希望本文所述对大家C语言程序设计的学习有所帮助。
相关推荐
指针是C语言中最强大且容易出错的特性之一。指针变量保存的是变量的地址,而非变量的值。通过声明指针变量,我们可以访问特定类型的数据。指针的声明形式如`int* ptr;`,表明`ptr`是一个指针,它指向一个int类型的...
【谭浩强 C语言入门教程】是一本深受初学者欢迎的编程教材,由著名计算机教育专家谭浩强教授编写。这本书以清晰易懂的语言,系统地介绍了C语言的基础知识和编程技巧,是学习C语言的经典之作。Word版的教程使得读者...
《51单片机及C语言入门教程》是一份针对初学者精心编写的教程,旨在帮助读者快速掌握51单片机的基础操作以及C语言在单片机编程中的应用。51单片机是微控制器领域中最经典的系列之一,由于其结构简单、易于理解和应用...
总的来说,《C语言入门教程》是一份适合新手的优秀资源,它以直观易懂的方式传授C语言的基本原理和编程技巧,为编程之旅提供了良好的起点。无论你是完全的新手,还是想重温基础知识,都可以从中受益。通过反复练习和...
"程序设计基础 C语言程序设计 C语言入门教程 第10章 指针" 本章节主要讲解了C语言中的指针概念,包括指针的定义、指针变量的声明、指针的使用、指针与数组、指针与函数等知识点。 1. 指针的概念 在C语言中,指针...
“C语言入门教程及100例”这个资源为初学者提供了一个良好的学习平台,通过系统学习和大量实践,相信你可以快速掌握C语言,开启编程之旅。在学习过程中,遇到困难不要气馁,多思考、多动手,你会发现编程其实并不难...
本“C语言入门PPT教程”将深入浅出地讲解以上所有知识点,并通过实例演示来帮助初学者更好地理解和掌握。通过学习,你将具备编写简单C程序的能力,并为进一步深入学习其他编程语言和系统级编程打下坚实基础。
《C语言入门经典教程及100个实例》是一本专为初学者设计的编程教材,旨在帮助读者快速掌握C语言的基础知识,并通过丰富的实例来加深理解和应用能力。C语言是一种广泛应用的计算机编程语言,因其高效、灵活和底层特性...
### C语言教程之指针详解 #### 指针概述 C语言中,指针是一种极为重要的特性,它使得程序员可以直接操作内存地址,这不仅增强了C语言的强大功能,也让程序编写更加灵活高效。掌握指针是学习C语言的关键,本文旨在...
《51单片机及C语言入门教程》还涵盖了51单片机的开发环境设置,如Keil uVision等IDE的使用,以及如何编写、编译、下载和调试程序。通过这些步骤,学习者可以建立起从编写代码到实现功能的完整流程。 学习本教程,你...
《C语言从入门到精通》是一本专门为初学者设计的C语言教程,旨在帮助读者从零基础逐步掌握C语言编程技能。C语言是计算机科学的基础,对于理解计算机工作原理和进行系统级编程具有重要意义。这本书深入浅出地介绍了...
"C语言入门到精通(实例版)视频教程2"显然是为了帮助初学者逐步掌握C语言而设计的一套教学资源。以下是基于这个主题的详细知识点解析: 1. **基本语法**: C语言的语法简洁明了,包括变量声明、数据类型(如int、char...
C语言是一种广泛应用于系统编程、应用编程、嵌入式开发以及游戏开发等领域的高级编程语言。它由贝尔实验室的Dennis Ritchie在1972年设计,以其简洁、高效和灵活性著称。C语言是许多现代编程语言的基石,如C++、Java...
**C语言实用入门教程概述** C语言是一种强大的、低级的编程语言,它以其简洁、高效和灵活性而闻名。这本“C语言实用入门教程”是专为初学者设计的,旨在帮助他们快速掌握C语言的基本概念和编程技巧。教程分为26个...
《C语言入门到精通(实例版)视频教程1》是一套专为初学者设计的全面学习C语言的教育资源。该教程以实例为主导,旨在帮助学习者通过实践掌握C语言的基础概念和编程技巧。 C语言是一种强大的、低级别的编程语言,被...
"C语言入门实用知识库分享" ...* C语言入门15:hello world之旅 + HelloWorld程序的概念和应用 + HelloWorld程序的实现方法 通过本资源,读者可以系统化地学习C语言,掌握编程基础知识,提高编程能力。
《C语言入门经典 第4版》是学习C语言的经典教材之一,由美国的霍顿(Deitel & Deitel)和杨浩共同编写。这本书以其深入浅出的方式,为初学者提供了全面而系统的C语言知识。在学习过程中,解决课后习题是巩固知识、...