C语言指针变量定义注意事项与历史背景

需积分: 10 2 下载量 93 浏览量 更新于2024-08-24 收藏 5.65MB PPT 举报
"C语言谭浩强第三版PPT课件" C语言是一种广泛使用的高级编程语言,它的特点是简洁、高效且接近硬件。C语言起源于1970年代的B语言,由贝尔实验室的D.M.Ritchie在B语言的基础上改进而成,主要用于编写UNIX操作系统。随着UNIX的推广,C语言逐渐流行,成为了可移植性极强的编程工具。在1983年,美国国家标准化协会制定了ANSIC标准,后续被ISO采纳并不断更新,形成了现代C语言的基础。 在学习C语言的过程中,指针是非常重要的一个概念。指针变量是用来存储内存地址的变量,它允许我们直接操作内存中的数据。在定义指针变量时,有两点需要注意: 1. 指针变量前面的星号(*):这表明该变量是存储地址的,即它是一个指针类型的变量。例如,`float *pointer_1;` 这一行代码定义了一个指针变量pointer_1,它能够存储浮点型(float)数据的内存地址。这里的星号是属于指针类型的一部分,而不是指针变量名的一部分,因此变量名是pointer_1,而不是*pointer_1。 2. 指针变量必须指定基类型:在定义指针时,需要声明它将指向哪种类型的数据。例如,`int *pointer_1;` 定义了一个指向整型(int)变量的指针。这很重要,因为不同类型的变量在内存中占据不同的字节数,所以不能将不匹配类型的数据地址赋值给指针。比如,以下赋值是错误的: ```c float a; int *pointer_1; pointer_1 = &a; // 错误:将float型变量的地址放到指向整型变量的指针变量中 ``` 这样的赋值会导致类型不匹配,可能导致程序崩溃或产生未定义的行为。 了解这些基础知识后,程序员需要学会如何在C语言中正确地声明、初始化和使用指针。指针可以用来传递函数参数、动态分配内存、以及在复杂的数据结构如链表、树等中起到关键作用。熟悉指针的操作是掌握C语言的关键步骤。 在实际编程中,还需要了解所使用的C语言编译器的具体特点,因为不同的编译系统可能对C语言的标准实现存在细微差异。通常,开发者会参考与编译器对应的文档来确保代码的兼容性和正确性。对于初学者来说,谭浩强的C语言教程是一个不错的起点,它以ANSIC标准为基础,帮助读者理解和掌握C语言的基本语法和编程技巧。