我是靠谱客的博主 自信蜗牛,最近开发中收集的这篇文章主要介绍C语言的常量和字符串,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

常量种类

C语言中,我们常使用的常量有以下几种:

  • 字面常量
  • const常变量
  • #define定义的标识符常量
  • 枚举常量

代码如下

#include<stdio.h>
enum { //使用enum来建立枚举常量
	papa,//不赋值默认从0开始,如若赋值,从此依次递增
	mama,
	me,
	familynumber
};
int main() {
	3.1415926;//普通的字面常量
	const int a = 100;//定义const常量
	printf("a=%dn", a);//a被const定义,变得不可修改
#define T 999
	printf("T=%dn", T);//使用宏定义常量T(既define的标识符常量)	
	printf("familynumber=%d", familynumber);//枚举常量的应用,打印出一个整形
	return 0;
}

在用const定义一个常变量后,如仍然给这个常变量赋值,将会出现以下情况


注意!!

此时,此常变量既不是变量也不是常量!

因为,如果我们用此常变量定义一个数组的大小时,系统也会报错

字符串

C语言中,用char定义字符类型数据变量;

我们知道了例如'a',是一个字符,

那么什么是字符串呢?

其实啊,字符串就是多个字符。

“Hello World!”

这就是一行简单的字符串。

字符串的结束标志

char arr1[] = {"abcd"};
	char arr2[] = {'a','b','c','d'};
	char arr3[] = {'a','b','c','d',''};
	
	printf("%sn", arr1);
	printf("%sn", arr2);
	printf("%sn", arr3);

此时打印出结果为


arr2里面有四个字符,与arr3相比,最后缺乏了结束标志;

所以出现了经典的烫烫烫烫,这是因为缺乏结束标志,就会导致数据溢出;

那为什么arr1没有问题呢?

因为arr1是由字符组成的字符串,字符串的最后,隐藏有一个结束标准,只不过我们看不到罢了~

关于字符串的长度

我们之前了解到,想要得到某个数据类型占据了多少内存,

得用到库函数 sizeof,

那我们如果想要得到一个字符串的长度,那我们应该用什么呢?

strlen

int main() {
	printf("%dn", strlen("abcd"));//使用库函数strlen得到字符串的长度,注意;不会被计算入内
	return 0;
}

如此,我们便得到了字符串的长度,4

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注靠谱客的更多内容!

最后

以上就是自信蜗牛为你收集整理的C语言的常量和字符串的全部内容,希望文章能够帮你解决C语言的常量和字符串所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(87)

评论列表共有 0 条评论

立即
投稿
返回
顶部