c语言字符串初始化C语言字符串初始化

2024-03-09 11:19:25 浏览

1/6打开c文件,初始化一个字符变量

c语言字符串初始化字符串初始化

2/6字符变量赋值:给字符变量a赋值为字符A

3/6初始化整型变量:初始化一个int整型变量b

4/6变量赋值:给变量b赋值令它等于a

5/6输入变量值:用printf函数将b的值输出

6/6运行程序:运行程序,结果即为A的ASCII码65

1、右键点击游戏的运行图标—属性—兼容性:“以兼容模式运行这个程序(选择能够运行此游戏的系统)”,和“以管理员身份运行此程序”前面方框都打勾。

2、检查电脑硬件是否出现问题。

3.电脑中毒也会引起类似的状况,用户可以安装杀毒软件杀毒试试看,如果不能解决就直接重新安装系统。

4、如果找不到原因,用户可以在开机的过程中按F8,选择“最近一次的正确配置”来进入系统。

1. C语言中字符串的表示方式有两种:字符指针和字符数组

2. 字符指针表示字符串

从编译器角度分析:

例如:char *p = "linux" ; p是字符指针,"linux" 字符串本身,当编译器遇到这种字符串表示时,会将指针和字符串本身分开处理, 字符指针p是一个变量,将其放在栈上,而字符串本身 "linux" 则被存放在代码段,其首地址赋给p。

例如:char *p = "linux" ; 首先对字符指针p,会为其在栈上开辟一个4字节的空间,而"linux" 字符串本身,会在代码段为其开辟一个6字节的存储空间,将该存储空间的首地址赋值给p。

3. 字符数组表示字符串

从编译器角度分析:

例如:char a[] = "linux" ; a是字符数组,编译器会将其放在栈上,而"linux" 字符串本身却只存在于编译器中,即编译器只是将它用来初始化字符数组a后丢弃掉。

例如:char a[] = "linux" ; 定义了一个字符数组a,在栈上开辟一个6字节的存储空间,而"linux"字符串本身由于只存在于编译器中,所以不需要为此开辟存储空间。

4. 两种表示字符串的差别

字符数组本身是数组,数组自身自带内存空间,可以用来存储东西;而字符指针是指针,本身永远只占4字节,而且这4字节还不能用来存储有效数据,所以只能把有效数据存放到其他的地方,然后把首地址存放在p中。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。