C语言中'&'和'*'运算符详解及历史背景

需积分: 13 2 下载量 197 浏览量 更新于2024-08-24 收藏 5.77MB PPT 举报
"本资源主要围绕C语言中的“&”和“*”运算符进行详细解释。C语言是一种广泛流行的高级编程语言,起源于1970年的B语言,由美国贝尔实验室设计,其中B语言为UNIX操作系统的开发奠定了基础。1973年,D.M.Ritchie在此基础上创造了C语言,改进了B语言,并用它重写了UNIX系统,特别是在第5版中。C语言在1975年随着UNIX第6版的发布逐渐受到关注,1977年《可移植C语言编译程序》的发布促进了其在更多平台上应用。 “&”运算符在C语言中代表地址运算符,用于获取变量或指针的内存地址。当在pointer_1 = &a这样的语句中使用时,&运算符首先作用于pointer_1,然后是a,因此&*pointer_1实际上等于&a,表示变量a的地址。另一方面,如果pointer_2 = &*pointer_1,这相当于将a的地址赋值给pointer_2,如果pointer_2原指向b,这时它会改变指向,指向a。 而“*”运算符则是解引用运算符,用于访问指针所指向的数据。例如,*pointer_1会返回pointer_1指向的内存位置存储的数据。当同时使用“&”和“*”时,先进行*运算,然后是&运算,确保了地址的正确获取。 C语言的标准发展过程也是本资源的一个重要部分。从早期的B语言,到C语言的诞生,再到ANSI C标准的制定和完善,如87ANSIC和ISO C标准,这些都反映了C语言在不断发展和适应市场需求的过程。不同版本的C编译器可能对语法和特性有所差异,因此在学习和使用C语言时,理解所使用的编译器特性至关重要。 本资源提供了一个深入理解C语言中“&”和“*”运算符以及其在程序中的实际应用和C语言历史发展的视角,这对于C语言初学者和进阶者来说都是宝贵的知识点。"