HTML 视频(Video) HTML 锚点
html 空格符
在网页中插入多个空格是html中经常用到的,实现html空格的方式有很多种,下面给大家一一介绍。
html空格符号代码
:一个字符的半角的不断行的空格,如果需要在网页中插入多个空格,可以将“”代码写多遍(常用方式);
:一个字符的半角的空格,也可以将“ ”写多遍来插入多个空格;
:两个字符的全角的空格,也可以将“ ”写多遍来插入更多的空格;
:小于一个字符的空格;说明:单词后面的分号记得带上,是不能省略的,它也是html代码中的一部分
网页中怎么插入多个空格-基础教程(cainiaojc.com) html空格 空格 基础教程(cainiaojc.com)
html空格 空格 基础教程(cainiaojc.com)
html空格 空格 基础教程(cainiaojc.com)
html空格 空格 基础教程(cainiaojc.com)
测试看看 ‹/›
运行后效果如下:
为什么要使用html空格符号代码
我们为什么要使用html空格符号代码呢?为什么不直接在键盘上敲几个空格呢?当你实际操作的时候,你会发现:默认情况下,无论你在html源代码中敲几个空格,在浏览器中运行都只显示一个空格。所以我们就需要使用html空格符号代码来实现网页中多个空格的效果。
上面为什么会说在默认情况下呢?其实我们还可以使用css中的“white-space”属性来实现多个空格的效果。就是将“white-space”属性值设置为“pre”,设置之后,浏览器就会保留html源代码中的空格和换行。这下你在源代码中敲几个空格,浏览器中运行就会用几个空格。
说明:一般在网页开发中,都是使用html空格符号代码来实现多个空格的效果。
HTML中各类空格占位符空格占位符大全符号表示
普通的英文半角空格
普通的英文半角空格但不换行
中文全角空格(一个中文宽度)
半角(en)空格 (半个中文宽度,不受字体影响)
全角(em)空格 (一个中文宽度,不受字体影响)
四分之一全角(em)空格 (四分之一中文宽度)
普通空格
相比普通空格,不间断,按下space键产生的空格,不累加
em是字体排印学的计量单位,相当于当前指定的点数。例如,1 em在16px的字体中就是16px。
en是字体排印学的计量单位,为em宽度的一半。根据定义,它等同于字体度的一半(如16px字体中就是8px)。等于是小写字母n的宽度。
拥有不间断(non-breaking)特性指:
连续的nbsp会在同一行内显示。即 假使有无数个连续的nbsp,浏览器也不会把它们拆成两行。
HTML 视频(Video) HTML 锚点
C语言 -- const关键字
Hey, 我是阿梁,今天来总结一下const关键字的用法。
unsetunset1. const引入unsetunset
关键字 const 用来定义常量,让我们不要去修改不该修改的内存,如果一个变量被 const 修饰,那么它的值就不能再被改变,更为直接的作用就是让更多的逻辑错误在编译期被发现。
这就是,C 语言中有 #define,还要用const的原因,事物的存在一定有它的道理,和#define相比,const有以下优点
1、预编译指令只是对值进行简单的替换,不能进行类型检查
2、可以保护被修饰的东西,防止意外修改,增强程序的健壮性
unsetunset2. const的用法unsetunset2.1 修饰局部变量
int func()
{
const int n = 5;
int const m = 5;
n = 10; //不合法
m = 10; //不合法
}
以上两种写法都可以,表示变量n或变量m的值不能被改变了,在这里要明白,const修饰的是n或者m,和int没关系。
需要注意的是,用const修饰变量时,一定要给变量初始化,否则以后就不能再进行赋值,不能被改变,不可做为左值。
2.2 修饰常量字符串
const char *str = "adcd";
如果没有const的修饰,我们可能在后面写 str[3]='x' 这样的语句,这样会导致对只读内存区域的赋值,然后程序就会立刻异常终止,有了const,这个错误就能在编译的时候就被检查出来,这就是const的好处,可以在编译期就发现错误而不必再辛苦去debug
const还可以用来修饰数组,如下,数组的每个元素的类型都是const int类型:
const int arr[3] = {0, 1, 2};
arr[0] = 5; //不合法
2.3 常量指针和指针常量
常量指针
先来说下常量指针,常量指针是指针指向的内容是常量,以下两种写法都可以:
const int *n;
int const *n;
需要注意两点:
int a = 5;
int b = 6;
const int *n = &a;
*n = 10; //不合法,常量指针指向的值不能改变
n = &b; //常量指针可以指向其他位置
int a = 5;
const int *n = &a;
*n = 6; //不合法
a = 6; //没问题
指针常量
指针常量是指针本身是一个常量,不能指向其他的地址,写法如下:
int *const n;
需要注意的是,指针常量指向的地址不能改变,但是地址中保存的数值是可以改变的,如下
int a = 5;
int b = 6;
int *const n = &a;
n = &b; //不合法,指针常量不能指向其他位置
*n = 10; //指针常量指向的值是可以改变的
**常量指针和指针常量经常搞不清楚,有一个容易记忆的方法,如果把 '*' 读作 '指针',把 'const' 读作 '常量',内容正好相符,const int n是常量指针,int const n是指针常量,是不是一下就记住了。
2.4 修饰函数的参数
char *strcpy(char *dest, const char *src);
这是赋值字符串的函数,dest表示把字符串复制到哪里去,这段内存必须可写,src表示把什么字符串复制出去,这段内存只读,给src加上 const修饰后,如果函数内部想要修改src的内容,编译器就会报错。
再来看一个例子,如下:
int execv(const char *path, char *const argv[]);
在这个函数中,argv是一个数组,这个数组的每个元素都是char* const类型,即每个元素都是指针常量,每个元素本身不可指向其他位置,但是指向的内容可以改变,于是:
argv[0] = NULL; //不合法
argv[0][0] = 'a'; //合法
1.4 修饰函数的返回值
如果给函数返回值加 const 修饰,那么函数返回值的内容不能被修改,该返回值只能被赋予加 const 修饰的同类指针
const char* GetString(void);
以下语句将出现编译错误
char *str = GetString();
正确的用法是:
const char *str = GetString();
1.5 全局变量
全局变量的作用域是整个文件,且全局变量的生存周期是程序运行的整个过程,所以应该尽量避免使用全局变量,一旦某个函数改变了全局变量的值,会影响到其他引用这个变量的函数,是一个很隐蔽的操作,如果一定要使用全局变量,应尽量使用const修饰,就可以避免全局变量被修改。
使用全局变量的原则是:尽可能少用全局变量,尽可能多用const
如果全局变量要在多个文件中共享,有两种方式: