关于 const 用法说明

http://www.openedv.com/posts/list/6536.htm

const u8 table_week[2]={0,1,2};
u8 const table_week[2]={0,1,2};
这有什么区别?

在这里是没什么区别的 
一般人喜欢写 const u8,但是似乎 u8 const 更符合标准。 
但是 
u8 const * p; 
和 
u8 * const p; 
就有区别了, 
第一个,const 修饰的是 (*p),也就是说,指针指向的内存是常量,不可以被更改。 
第二个,const 修饰的是指针变量 p,也就是说,指针本身是一个常量,不能被重写,比如我有另外一个指针 p2,但是就不可以写 p = p2; 但是 u8 * const p; 这样的定义是不能编译通过的,因为 const 变量必须在定义的时候就初始化。不过 C++ 的类成员变量稍有不同,是在构造函数中初始化。 

=====================
看上面2楼的解释,  const u8 *  和u8  const *意思一样   前面和u8 * const不一样, 
他不是说 
u8 const * p;  
和  
u8 * const p;  
有区别,  
第一个,const 修饰的是 (*p),也就是说,指针指向的内存里面存的东西是常量,不可以被更改。  
第二个,const 修饰的是指针变量 p,也就是说,指针p本身是一个常量,不能被重写,但该指针指向的内容可以被修改

=======================
c语言深度剖析  关于const有解释, 
const u8 *  和u8  const *意思一样   
前面和u8 * const不一样,都把u8  去了,第一个和第二个一样的 都是const * 
 第三个是const*,所以第一个就是指针里面存的东西不能够修改,第二个p本身不不能修改,看const 修饰什么,直接把定义的数据类型去掉再看就一目了然了。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BigInt 是 JavaScript 中的一种数据类型,用于表示任意精度的整数。它可以处理超出 JavaScript Number 类型表示范围的整数。 使用 BigInt 值时,需要在数字后面添加 "n" 后缀,以明确告诉 JavaScript 解释器这是一个 BigInt 值。例如:`const bigNum = 1234567890123456789012345678901234567890n;` 以下是一些 BigInt 的特性和用法说明: 1. 创建 BigInt:在数字后添加 "n" 后缀即可创建 BigInt。 ```javascript const bigNum = 1234567890123456789012345678901234567890n; ``` 2. 运算操作:可以使用常规的算术和比较运算符来操作 BigInt。 ```javascript const a = 10n; const b = 20n; const sum = a + b; // 30n const difference = b - a; // 10n const product = a * b; // 200n const division = b / a; // 2n ``` 3. 可以与普通数字进行混合运算,但结果将总是 BigInt 类型。 ```javascript const a = 10n; const b = 20; const sum = a + BigInt(b); // 30n ``` 4. BigInt 不支持与 Number 类型直接进行比较,需要使用 BigInt() 函数将 Number 类型转换为 BigInt 类型后再进行比较。 ```javascript const a = 10n; const b = 20; console.log(a > BigInt(b)); // true ``` 5. BigInt 还支持一些内置方法,如 toString()、valueOf() 和 toLocaleString() 等。 请注意,BigInt 在 JavaScript 中是相对较新的功能,可能不被所有浏览器和环境广泛支持。在使用 BigInt 时,请确保你的目标平台兼容该功能,或者考虑使用第三方库来处理大整数运算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值