转义字符

转义字符

在这里插入图片描述
一点点解释:
‘\0’表示值为0的字符,也就是空字符(null)。通常用这种形式代替0,强调某些表达式的字符属性,但其数字值为0。

关于\ddd以及\xdd 之前的说明
这些不同进制的数字按照字符形式输出,最终都会对应到十进制的ASCII码上。达到各种各样的效果。
但除了原来写的关于它的具体怎么用,还没见到太多,后续再补充咯。

//这个还是属于按照整型输出的

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#pragma warning(disable:4996)

int main()
{
	printf("%d\n", strlen("c:\test\328\test.c"));
	printf("%d\n", sizeof("c:\test\328\test.c"));
	
    system("pause");
	return 0;
}
	

在这里插入图片描述
(虽然这个题原来看到过一次,没想到过去不到一个月,再看到又错了)

\n 和 \r 和word 里面的软回车和硬回车有点类似 在Linux 里面和很多情况下都有一些不一样,具体还不太清楚,目前先空着。

字面转特殊
典型代表 \n \0
所有的转义字符均为一个字符长度

//用来验证以上内容

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#pragma warning(disable:4996)

int main()
{
	printf("hello!\n");
	printf("%d\n", sizeof("\n"));//  \0 计入空间大小
	printf("%d\n", strlen("\n"));//  \0 不计入字符串长度
	
	system("pause");
	return 0;
}

在这里插入图片描述

特殊转字面
在原本的c中 ‘ ’ “ ”是有特殊含义的
‘ ’ 字符分隔符 " " 字符串界定符

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#pragma warning(disable:4996)
int main()
{
	printf("\"");
	printf("\'"); 
	 
    system("pause");
	return 0;
}

无图

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#pragma warning(disable:4996)
int main()
{
	char *s1 = "c:code\test.c";
	char s2[] = "c:code\test.c";
	printf("%s\n", s1);
	printf("%d\n", strlen(s1));
	printf("%d\n", strlen(s2));
	printf("%d\n", sizeof(s1));
    printf("%d\n", sizeof(s2));
     
    system("pause");
	return 0;
}

在这里插入图片描述

char *s = "c:\code\test.c";  //会报警告,系统搞不懂\c但还是会把它当成一个字符处理,只是具体什么命令不知道
printf("%d\n", strlen(s));    //12

一点其他的链接
指针大小是4字节,在32位平台
好像可以和在函数里面写的东西做一个联系吧。

在C/C++里数组作为参数时传递的实际上是指向数组第一个元素的指针,因此sizeof(str)返回的是指针的大小,即4。
//原来的意思就是看似传递参数穿的是数组,其实本质还是指针。因此更加验证,绝不能在函数内部求解数组的空间大小,不管原来有多大,一旦在函数内部求解sizeof,都是4字节。

注意以下三种形式的参数是完全等价的:

1void Func(char str[10]);

2void Func(char str[]);

3void Func(char *str);
因为传递的本质上是指针,所以维数也是不必要的。

复盘

发现自己写博客的时间越来越长,不知道是因为能想到很多相关的知识,还是什么原因。有些东西就很零碎,慢慢整理吧,知识体系化比较重要一些。
这个黄色的背景又一次让我想起风靡全网的 淡黄的长裙~,蓬松的头发 。
着实好笑。豆芽的很多歌词真的蛮好的,他的flow也很喜欢,大概是真的要当爸爸了,所以不得不考虑奶粉钱了。哈哈哈哈哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值