
C语言入门:字符指针变量初始化与数组赋值
下载需积分: 0 | 5.67MB |
更新于2024-08-24
| 87 浏览量 | 举报
收藏
"对字符指针变量赋初值的C语言表达方式以及C语言的历史发展"
在C语言中,字符指针变量的初始化是一个重要的概念。字符指针变量通常用来存储字符串的首地址,使得我们可以方便地操作字符串。下面将详细解释如何对字符指针变量赋初值,并对比数组初始化的不同。
首先,对字符指针变量赋初值的两种等价形式:
1. 直接赋值:
```c
char *a = "I love China!";
```
在这个例子中,`a`是一个指向字符的指针,它被赋予了一个字符串字面量"I love China!"的地址。字符串字面量是常量,且自动在内存的只读区域存储。
2. 分两步赋值:
```c
char *a;
a = "I love China!";
```
在这里,我们先声明一个字符指针`a`,然后将其指向字符串字面量"I love China!"的地址。
然而,对于字符数组的初始化,情况有所不同:
```c
char str[14] = {"I love China!"};
```
这个例子中,我们创建了一个大小为14的字符数组`str`,并用字符串字面量初始化。字符数组的每个元素都会被赋值,包括结束符'\0'。
不能将字符数组的初始化写成如下形式:
```c
char str[14];
str[] = "I love China!";
```
这是不合法的,因为数组名称在C语言中是其首元素的地址,上述代码实际上尝试将整个字符串复制到数组的首地址,而不是对每个数组元素赋值。正确的做法是直接在声明时初始化,或者通过循环逐个赋值。
C语言起源于20世纪70年代,它是由Dennis M. Ritchie在B语言的基础上发展而来的。B语言最初用于编写UNIX操作系统,但因为其过于简单的数据类型处理,C语言应运而生。C语言在保留了B语言的精炼和接近硬件的特性的同时,增加了类型系统和其他功能,使其更加健壮。
随着C语言的流行,1978年出现了由Brian W. Kernighan和Dennis M. Ritchie合著的《The C Programming Language》,这本书成为C语言的经典教材,被誉为“K&R”或“ Kernighan and Ritchie”。C语言在不同计算机平台上广泛移植,1983年美国国家标准化协会制定了ANSI C标准,进一步推动了它的普及。后来,ISO在1990年采纳了ANSI C作为ISO C标准(ISO 9899:1990),并在后续年份进行了修订。
不同的C编译器可能实现了一些特定的功能或扩展,因此了解所使用的编译器的特点是十分重要的。学习C语言时,通常以ANSI C或最新版本的ISO C标准作为基础。
相关推荐






















简单的暄
- 粉丝: 29
最新资源
- 仿美团PC端Web开发实践:Vue框架应用
- 探索Andriy1991.github.io的HTML技术实现
- OpenWrt x86_64自动编译固件详解
- Web代理技术:实现高效网络缓存的关键
- 公司年终JS+HTML抽奖程序:快速随机与自动模式
- Java技术分享与交流平台TechGig
- Python数据定价模块的深入分析与应用
- 本地文件搜索工具的开发与应用
- jpegsrc.v9b.tar.gz:JPEG库的新版本发布
- CodeSandbox上实现neogcamp-markNine标记九分法
- 深入探索GitHub的InnerSource开源模型
- 掌握机器学习:Jupyter Notebook中的决策树算法
- 深入解析HTML在github.io的应用与实践
- 深入解析hannahtobiason.github.io中的CSS技术应用
- rsschool-cv:创意履历表模板设计
- TSQL查询技术:mssql-queries存储库解析
- Kotlin开发应用adfmp1h21-pet界面截图教程
- 2021数据三项全能赛事解析与Jupyter Notebook应用
- Java语言环境下的tejun仓库创建详细步骤
- 4-mergaite:HTML文件压缩技术的最新进展
- Navicat12数据库管理工具压缩包发布
- 掌握JavaScript构建全栈应用的精髓
- C语言实现HFizzBuzz算法分析
- 探索DIDIC技术的核心优势与应用