随笔分类 - c&c++
摘要:read在linux原型定义如下: #include <unistd.h> ssize_t read(int fd, void *buf, size_t count); 关于buf,man手册解释如下: “read() attempts to read up to count bytes from
阅读全文
摘要:一、下载cygwin https://www.cygwin.com/ 下载setup-x86_64.exe 二、安装 1、选择安装目录 2、选择下载目录 3、选择下一步 4、选择下载镜像 5、弹出软件选择框 6、需要安装 gcc-core、gcc-g++、make、gdb、binutils,这些软件
阅读全文
摘要:一、sizeof 数组声明时有长度 没有初始化 char carr[5]; int iarr[5]; double farr[5]; printf("%d\n", sizeof(carr));//5 printf("%d\n", sizeof(iarr));//20 printf("%d\n", s
阅读全文
摘要:一、指针加减指针 int arr[10]={0,1,2,3,4,5,6,7,8,9}; printf("%d",&arr[9]-&arr[0]); 结果等于9,说明指针进行减法运算实际得到两个地址之间元素的个数 二、数组名代表数组的首地址,那么&数组名代表什么? 准备知识:通常我们说数组名是数组首元
阅读全文
摘要:一、括号法 Person p;//注意:对于调用无参构造函数不能加括号,如:Person p();原因是c++会将此代码视为一个函数声明,参考函数声明,如:int test(); Person p(10);//调用有参构造 二、显式法 Person p=Person(10);//调用有参构造 Per
阅读全文
摘要:一、环境 1、mingw64 由于在线安装版速度很慢,此处选择离线版安装 下载地址:https://sourceforge.net/projects/mingw-w64/files/ 具体版本的选择参考下图(引用自https://blog.csdn.net/jiqiren_dasheng/artic
阅读全文
摘要:假设定义一个变量如下: int a=0x11223344; 此时a占用4个字节,数据在内存中的保存形式如下: 将a的地址赋值给整型的指针变量 int* pa=&a; 将pa进行解引用,并对它进行赋值 *pa=0; 此时的内存四个字节全部变成0 说明修改正确,但是如果将a的地址赋值给一个字符型指针变量
阅读全文
摘要:通常情况下,数组名作为函数参数,传递的是数组的首地址,但有两个例外: 1、sizeof(数组名):数组名表示整个数组,计算的是整个数组的大小,单位是字节 2、&数组名:数组名代表整个数组,返回的是整个数组的地址 那么什么是整个数组的地址呢? 上图中,&arr返回值和前两个相等,感觉上元素首地址和整个
阅读全文
摘要:strlen(char[]):计算一个字符数组中\0之前的所有字符数量 sizeof(char[]):计算字符数组实际占用空间长度 当我们执行以下代码片段时 char arr[] = "abc"; char arr2[] = {'a','b','c'}; printf("%s\n", arr); p
阅读全文