`

指针基础(二)_c语言学习笔记

 
阅读更多
1. c语言中的字符串
    1)c语言中的字符串,本质上是 以‘\0’(数字0) 结尾的字符型数组。
    2)字符串的指针(即字符串在内存中的起始地址 ):字符串第一个字符的地址。
	//字符串的定义和赋值
	char str[] = "I love apple!";
    3)使用字符串指针赋值:
	char *pstr;
	pstr = "I love apple!";
    4)字符指针变量与字符串常量之间的关系:
 

2. 字符串的引用
    1)逐个字符的引用:
	//定义字符指针变量pstr
	char *pstr;

	//用字符串常量"I love apple!"的地址给pstr赋初值
	pstr = "I love apple!";

	//逐个字符引用
	for ( ; *pstr != '\0'; pstr++ )
		printf( "%c", *pstr );
	//打印出“I love apple!”

	/*
	 * 注:字符指针变量pstr中,仅存储字符串常量的首地址,
	 * 而字符串常量的内容(即字符串本身),是存储在由系统
	 * 自动开辟的内存块中,并在串尾添加一个结束标志‘\0’。
	 */
    2)整体引用:
	char *pstr = "I love apple!";

	printf( "%s", pstr );  //打印出“I love apple!”
    3)整体引用原理:系统首先输出pstr指向的第一个字符,然后使pstr自动加1,使之指向下一个字符;重复上述过程,直到遇到字符串结束标志。
    4)注意,其它类型的数组,是不能用数组名来一次性输出全部元素的,只能逐个元素输出。

3. 野指针
    1)“野指针”操作,也叫空指针赋值,指一个指针没有指向一个有效内存就被引用。
    2)后果:编译时不会出错,但运行时容易出现异常,甚至系统死机。
    3)原因:指针变量被定义时,系统会分配一个随机指定的初始值。如果初始地址值是用户正常使用的内存地址,也许不会发生意外,甚至运行正常;但如果初始地址值是系统程序所占内存单元的地址,此时对该内存单元进行赋值,就会破坏系统程序内存单元,这是系统会出现难以预料的错误,甚至死机。






分享到:
评论

相关推荐

    c语言指针学习笔记

    C语言中的指针是一种基础而...本文档为C语言指针的学习笔记,从基础到深入逐步介绍了指针的概念、定义、初始化、运算和使用。通过本文档的阅读,学习者应能更好地掌握C语言中的指针知识,并在实际编程中正确使用指针。

    C语言学习笔记.zip

    本压缩包“C语言学习笔记.zip”包含了丰富的C语言学习资料,主要集中在“c-notes-master”这个子目录下,适合初学者和有一定基础的程序员进行深入学习。 在C语言的学习中,首先要掌握的基本概念包括变量、数据类型...

    C语言学习笔记基础完整

    本学习笔记旨在全面覆盖C语言的基础部分,帮助初学者掌握其核心概念和语法。 一、C语言概述 C语言由贝尔实验室的Dennis Ritchie在1972年创造,它的特点是运行效率高,程序控制性强,语法简洁。C语言是许多现代编程...

    C语言学习笔记 C语言学习笔记

    本“C语言学习笔记”将以上知识点逐一展开,通过实例解析和练习题,帮助读者逐步构建扎实的C语言基础。无论你是初学者还是有经验的开发者,都能从中受益。请解压文件,仔细阅读,祝你在C语言的学习旅程中收获满满。

    c语言学习笔记,好东西

    总之,这份C语言学习笔记是初学者和进阶者宝贵的参考资料,它全面覆盖了C语言的基础知识,并提供了实践中的实用技巧。通过深入阅读和实践,读者可以逐步掌握C语言的精髓,为未来在编程领域的发展奠定坚实基础。

    C语言100例及教程.rar_C语言 100例_C语言例_c语言 教程

    总的来说,"C语言100例及教程" 是一个全面的C语言学习资源,不仅提供基础理论知识,更强调实践操作,对于想要系统学习和提高C语言技能的人来说,是一份宝贵的资料。通过系统学习和反复实践,学习者可以逐渐掌握C语言...

    C语言指针学习笔记

    C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明...

    C语言学习笔记——基础知识篇

    本资源包"**C语言学习笔记——基础知识篇**"是为C语言初学者或需要复习C语言概念的人准备的宝贵资料。 首先,我们要了解C语言的基础知识。C语言的语法结构基于ALGOL60和BCPL,由Dennis Ritchie在贝尔实验室设计和...

    C语言学习笔记.pdf

    ### C语言学习笔记知识点梳理 #### 一、C语言中的函数 C语言中的函数是程序设计的基本单位之一,主要用于组织代码、实现特定功能并能够被重复调用。 1. **函数分类** - **库函数**:由系统提供的标准函数,如`...

    C语言学习笔记_指针

    ### C语言学习笔记_指针 #### 指针的重要性及基本概念 在C语言中,指针是一种非常重要的数据类型,它不仅丰富了C语言的功能,还是衡量开发者是否熟练掌握C语言的关键指标之一。指针能够让程序员像操作低级语言(如...

    超强的C语言指针学习笔记.pdf

    ### 超强的C语言指针学习笔记 #### 知识点概览 本文将深入探讨C语言中的指针概念及其复杂声明的理解方法——右左法则。文章将分为以下几个部分进行详细介绍: 1. **指针基础知识回顾** 2. **右左法则详解** 3. **...

    C语言和C++Builder学习笔记.rar_C++笔记_c++学习笔记_c/C++_学习笔记_编程语言

    【C语言和C++Builder学习笔记】 C语言和C++是两种广泛使用的编程语言,它们在软件开发领域占据着重要地位。C语言以其简洁、高效和底层操作能力著称,而C++则在C的基础上引入了面向对象编程,极大地扩展了其应用范围...

    C语言基础学习笔记

    C语言是一种广泛使用的编程语言,尤其适合底层系统开发...通过逐步学习和实践,你可以掌握C语言的基本要素,从而为进一步深入学习打下坚实的基础。记得在编程过程中多做实验,遇到问题及时纠正,与他人交流,共同进步。

    嵌入式C语言学习笔记

    本文总结了嵌入式C语言学习笔记的要点,涵盖了运算符优先级、指针的用法、二分法查找、字符串操作、冒泡排序法、寻址方式、存储区域、volatile含义及应用等多个方面。 一、运算符优先级 在C语言中,运算符的优先级...

    c语言 学习笔记part_1

    吉林大学的讲师精心编写的《C语言学习笔记part_1》旨在为初学者提供一个系统学习C语言的平台,涵盖C语言的基础概念、语法和常见操作,并以直观的图片形式展示示例,使得抽象的编程知识变得生动具体。 首先,C语言的...

    C语言学习笔记变量数组指针

    在C语言中,变量、数组和指针是编程的基础元素,理解它们的性质和操作方式对于深入学习C语言至关重要。让我们逐一探讨这些知识点。 首先,我们来看“变量”。变量是存储数据的容器,它们可以存储各种类型的数据,如...

    C语言学习笔记C语言学习笔记C语言学习笔记

    "C语言学习笔记" 本笔记总结了C语言的基础知识点,包括数据类型、输入输出函数、格式输出函数等。 一、数据类型 C语言的数据类型可以分为四类:基本类型、构造类型、指针类型和空类型。基本类型又可以分为整型、...

    1584007113891_C语言_SuddenlyYou_

    docx格式通常用于存储文字内容,可能是老师的讲义,也可能是学员的学习笔记。 现在,让我们深入探讨一下C语言的一些关键知识点: 1. **基础语法**:C语言的基础包括变量(varibles)、数据类型(如int, float, ...

Global site tag (gtag.js) - Google Analytics