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=%d\n", a);//a被const定义,变得不可修改
#define T 999
	printf("T=%d\n", 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','\0'};

	printf("%s\n", arr1);
	printf("%s\n", arr2);
	printf("%s\n", arr3);

此时打印出结果为

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

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

那为什么arr1没有问题呢?

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

关于字符串的长度

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

得用到库函数 sizeof,

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

strlen

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

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

总结

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

(0)

相关推荐

  • C语言每日练习之字符串反转

    目录 分析 代码实现 网上参考 总结 分析 在第18天:利用递归函数调用方式,将所输入的字符以相反顺序打印出来中,已经用过递归实现字符顺序输入,逆序输出,今天的题目是字符串反转,将以字符数组的形式来进行操作. 代码实现 #include <stdio.h> #include <string.h> #define MAX_LENGTH 50 //最大长度 char *String_Invertion(char *str); int main() { char string[MAX_L

  • 实现C语言常用字符串库函数

    目录 strlen strcpy strcat strcmp 总结 strlen 数组长度的计算是通过strlen来的,它的作用就是判断给定的数组元素个数,直到碰到\0结束 函数原型 size_t strlen ( const char * str ); 废话少说,直接上代码 int my_strlen(char *str) { char* ch=str; int count=0; while(*ch!='\0') { count++; ch++; } return count; } 但考虑到安

  • C语言中的四种常量详解

    目录 1.字面常量 2.const修饰的常变量 3.#define定义的标识符常量 4.枚举常量 总结 1.字面常量 字面常量正如我们从字面上简单理解的那样,是最简单的常量,下面给出例子帮助大家理解: //1.字面常量 100; //整型常量 3.14; //浮点常量 "abfdj"; //字符串型常量 'w'; //字符型常量 int a[100]; //其中的100也是常量,此处需注意,[]中的数字必须是常量,后面我们会用到这个 2.const修饰的常变量 const修饰的变量具有

  • C语言中几种常量的认识和理解

    目录 前言 一.C语言常量是什么? 二.分别说明 1.字面常量 2.const修饰的常变量 3.#define定义的标识符变量 4.枚举常量 总结 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一.C语言常量是什么? 常量是指在程序运行过程中其值不能被改变的量. C语言中常量可分为直接常量和符号常量.常量分为:字面常量,const修饰的常变量,#define定义的标识符常量,枚举常量. 二.分别说明 1.字面常量 字面常量:指的是直接输入到程序中的值. 例如:in myAge=19: m

  • C语言的变量与常量 字符字符串与转义字符详解

    目录 一.变量 1.1定义变量的方法 1.2变量的分类 1.3变量的使用 二.常量 2.1字面常量 2.2 const修饰的常变量 2.3#define定义的标识符常量 2.4 枚举常量 三.字符和字符串 3.1 定义 3.2字符串的应用 3.3转义字符 四.注释 总结 一.变量 1.1定义变量的方法 如图中所示,变量可被定义为各种数据类型,如int 整型 char字符数据类型,short短整型,float单精度浮点数,double双精度浮点数等等.一般在变量定义后,需给变量赋值,如图中对所有变

  • C语言初识变量常量字符串转义符及注释方式简介

    目录 一:变量与常量 1.1:变量 1.1.1:变量的分类 1.1.2:变量的优先性 1.2:常量 1.2.1:#define定义 1.2.2:枚举常量 1.2.3:const修饰的常量 二:字符串介绍 三:转义字符的介绍 三:注释方式的介绍 一:变量与常量 1.1:变量 生活中有些值是可变的(比如年龄,体重,薪资). 下面我们举一个简单的例子表示变量的创建与使用. 1.1.1:变量的分类 局部变量 全局变量 这里主要介绍一下全局变量与局部变量作用域与生命周期. 作用域:通俗来讲,也就是一个变量

  • C语言的常量和字符串

    目录 常量种类 字符串 总结 常量种类 C语言中,我们常使用的常量有以下几种: 字面常量 const常变量 #define定义的标识符常量 枚举常量 代码如下 #include<stdio.h> enum { //使用enum来建立枚举常量 papa,//不赋值默认从0开始,如若赋值,从此依次递增 mama, me, familynumber }; int main() { 3.1415926;//普通的字面常量 const int a = 100;//定义const常量 printf(&qu

  • C语言的常量,字符串,转义字符,注释你都了解吗

    目录 四种常量: 字符串: 转义字符 注释 总结 四种常量: 1.字面常量 如数字100,‘a’ 2.const修饰的常变量 const int n = 10 //常变量而非常量 不能用 int a[n]={1,2,3}定义数组 3.define定义的标识符常量 #define NUM 100 //NUM是define定义的常量 4.枚举常量: 生活中有些取值可以一一列举的如: 性别:男,女,保密 星期:1,2,3,4,5,6,7 //创建一种枚举类型 #include <stdio.h> e

  • c语言字符数组与字符串的使用详解

    1.字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素.char str[10]={ 'I',' ','a','m',' ','h','a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果花括号中提供的字符个数大于数组长度,则按语法错误处理:若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即 '\0' ). 2.字符数组与字符串在c语言中,将字符串作为字符数组来处理.(c++中不是)在实际应用

  • Go语言中常量定义方法实例分析

    本文实例讲述了Go语言中常量定义方法.分享给大家供大家参考.具体分析如下: 常量的定义与变量类似,只不过使用 const 关键字. 常量可以是字符.字符串.布尔或数字类型的值. 复制代码 代码如下: package main import "fmt" const Pi = 3.14 func main() {     const World = "世界"     fmt.Println("Hello", World)     fmt.Printl

  • Python基础之文本常量与字符串模板

    一.前言 在程序中,有很多高效率的字符串处理方式,如果开发者能够完全掌握这些高效的字符串处理,往往在开发者也能事半功倍.比如针对于字符串的处理,也是自然语言处理的基础知识. 而python3中,处理字符串的库为:string.本篇将详细介绍各种字符串的高效处理方式. 二.首字母大写 对于英文单词组成的字符串来说,很多时候,我们需要对英文的首字母进行大写的变更.如果没有了解其高效率的函数,一般我们都通过循环,判断空格,取空格后一位的字母,判断其在ASCII中的编码后,取其大写替换掉该位置的字符串.

  • Python的文本常量与字符串模板string库

    一.前言 在程序中,有很多高效率的字符串处理方式,如果开发者能够完全掌握这些高效的字符串处理,往往在开发者也能事半功倍.比如针对于字符串的处理,也是自然语言处理的基础知识. 而python3中,处理字符串的库为:string.本篇将详细介绍各种字符串的高效处理方式. 二.首字母大写 对于英文单词组成的字符串来说,很多时候,我们需要对英文的首字母进行大写的变更.如果没有了解其高效率的函数,一般我们都通过循环,判断空格,取空格后一位的字母,判断其在ASCII中的编码后,取其大写替换掉该位置的字符串.

  • 深入了解C语言字符函数和字符串函数

    目录 前言 求字符串长度 strlen介绍 strlen直接使用: strlen模拟实现: strlen对比sizeof 长度不受限制的字符串函数 strcpy 直接使用 模拟实现: strcat 直接使用: 模拟实现: strcmp 运行结果: 模拟实现: 长度受限制的字符串函数 strncpy strncat strncmp 字符串查找 strstr strtok 字符分类函数 内存操作函数 memcpy memmove memcmp 总结 前言 C语言中对字符串的处理很是繁琐,但是C语言本

  • C语言进阶教程之字符串&内存函数

    目录 前言: 一.求字符串长度 strlen strlen函数的模拟实现 二.长度不受限制的字符串函数 strcpy strcpy函数的模拟实现 strcat strcat函数的模拟实现 strcmp strcmp函数的模拟实现 三.长度受限制的字符串函数 strncpy strncpy函数的模拟实现 strncat strncat函数的模拟实现 strncmp strncmp函数的模拟实现 四.字符串查找 strstr strstr函数的模拟实现 strtok strtok函数的模拟实现 五.

  • 手把手带你走进Go语言之常量解析

    目录 概述 常量 常量计算 iota 概述 Golang 是一个跨平台的新生编程语言. 今天小白就带大家一起携手走进 Golang 的世界. (第 3 课) 常量 常量 (Constant) 是指程序在执行过程中不会改变的固定值. 常量可以是任何基本数据类型. 如整数常量, 浮点常量, 字符常量, 枚举常量. 常量一般都会被编译器视为常规变量, 只是常量的值不能再定义之后修改. 格式 1: const 变量名 = 值 格式 2: const 变量名 变量类型 例子: package main i

随机推荐