golang的类型分为命名类型和未命名类型。命名类型包含预声明类型,可以通过标识符表示,用户自定义类型也是命名类型。未命名类型由预声明类型、关键字和操作符组合而成。未命名类型又称为类型字面量。array/slice/map/channel/pointer/function/struct/interf ...
分类:
其他好文 时间:
2020-01-10 22:23:56
阅读次数:
71
从0到NULL 在C++的世界中字面值0用来表示空指针,所以0可以当作所有指针类型的字面值。为了让语义更明确引入了 宏定义: 这说明了在C++中, 是被替换为0的(在一些实现中 可能被定义为0L),这是因为C++不允许 指针隐式转换为其它类型指针,但是允许0作为各指针类型的字面值常量。 这样做虽然能 ...
分类:
其他好文 时间:
2020-01-08 00:11:44
阅读次数:
159
上一篇主要讨论了C指针的本质,但并没有解释指针的类型问题,这次我们重点来讨论指针的类型与指针内存分配之间的关系。 对比以下两个指针 int *p; char *p; 单纯从上面看这两个指针有何区别? 很多读者第一反应就是其类型不同,确实没错,但是我们现在需要从底层出发,搞清楚指针类型的意义。 其实单 ...
分类:
其他好文 时间:
2019-12-25 16:15:41
阅读次数:
92
package main /* #include <stdlib.h> */ import "C" import ( "unsafe" "fmt" ) type Slice struct { Data unsafe.Pointer //万能指针类型 对应C语言中的void* len int //有效... ...
分类:
其他好文 时间:
2019-12-23 00:21:04
阅读次数:
99
1. 函数 2.指针 一. 函数 二. 指针 先来看一段代码 这里定义了一个int类型的变量a, 有定义了一个指针类型的变量pa, 让pa指向了a的地址. 然后修改了pa的值, 我们看看打印出来的a是什么: 下面开始描述指针 1. 指针也是一种变量, 指针变量的定义方式, 和普通变量的定义方式一样 ...
分类:
其他好文 时间:
2019-12-16 09:35:37
阅读次数:
84
{ 0. C++ 标准库使用比如vector::push_back 等这类函数时,会对参数的对象进行复制,连数据也会复制.这就会造成对象内存的额外创建, 本来原意 是想把参数push_back进去就行了,通 过std::move,可以避免不必要的拷贝操作。 1. std::move是将对象的状态或者 ...
分类:
编程语言 时间:
2019-12-15 20:21:12
阅读次数:
84
C 数据类型 在 C 中,变量分为以下几种类型: 值类型(Value types) 引用类型(Reference types) 指针类型(Pointer types) 值类型(Value types) 值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的。 值类型直 ...
1. 指针是什么 2. 指针和指针类型 3. 指针和数组名 4. 指针运算 5. 指针和数组 6. 二级指针 7 . 指针数组 ...
分类:
其他好文 时间:
2019-12-02 00:51:18
阅读次数:
167
长期以来对C#的认识一直停留在微软件开发的完全面向对象的语言的模糊印象上,对其工程也缺乏多文件以上级别的修改能力,而当前流行度的驱使下,想深入了解它并运用。 于是从git上下载了一个C#开源项目,打开工程查看了一翻。。。 一、工程 工程以.cs文件为主,少编译出来的二进制文件,以及工程配置文件是其它 ...
别说我没告诉过你指针匹配类型有多重要,指针类型决定了从开始地址取多长,如何解析 void main() { int num = 100; double *p = (double*)#//明明是整型,我非tm按照double解析 printf("指针p指向%x,该地址上存的值为%f\n",p, ...
分类:
其他好文 时间:
2019-11-28 01:15:34
阅读次数:
114