
c/c++笔记
文章平均质量分 58
c/c++笔记
华间一壶酒
这个作者很懒,什么都没留下…
展开
-
记录有益的代码片段
代码片段使用qsort排序void qsort(void* base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*));参数按顺序依次是要比较的数组,数组长度,元素占用字节数,比较函数。比较函数要求是如下形式,返回值为intint cmp(const void* elem0, const void* elem1)定义cmp函数时,首先将两个参数强转为数组的类型;然后写比较规则,参照下面例子。#inc原创 2021-12-14 22:05:09 · 1028 阅读 · 0 评论 -
c语言杂记
c不允许把数组作为一个单元赋给另一个数组,除初始化以外,也不允许使用花括号列表的形式赋值int main(){ int a[2][2] = { 1,2,3,4 }; int b[2][2] = a;//err a = { 1,1,1,1 };//err}```c原创 2021-09-19 22:43:09 · 210 阅读 · 0 评论 -
变量的生命周期和作用域
9.2.2 自动存储持续性在默认情况下,函数中声明的函数参数和变量的存储持续性为自动,作用域为局部,没有链接性9.2.3 静态持续变量和C一样,c++也为静态存储持续性提供了3种链接性:外部链接性(可在其他文件中访问)、内部链接性(只能在当前文件中访问)和无链接性 (只能在当前函数或代码块中访问)。由于静态变量的数目在程序运行期间是不变的,因此不需要使用特殊的装置(如栈)来管理它们。编译器将分配固定的内存块来存储全部静态变量,这些变量在程序运行期间一直存在。要创建链接性为外部的静态持续变量,必须在代原创 2021-02-07 11:36:32 · 317 阅读 · 0 评论 -
c++头文件怎么写
9.1 单独编译c++鼓励程序员将组件函数放在独立的文件中。可以单独编译这些文件,然后将他们链接成可执行文件。如果只修改了一个文件,则可以只重新编译该文件,然后将它与其他文件的编译版本重新链接。可以把程序分为3部分:头文件:包括结构声明和使用这些结构的函数的原型。头文件一般包含类的定义、extern 变量的声明和函数的声明.源代码文件:包含与结构有关的函数的代码。源代码文件:包含调用上述函数的代码。不要把函数的定义和变量的定义放在头文件中。因为c++有单定义规则,变量只能有一次定义。如果在原创 2021-02-06 10:54:27 · 4310 阅读 · 2 评论 -
指针和c-风格字符串
指针和c-风格字符串指针和数组的特殊关系可以扩展到c-风格字符串。请看下面的代码char flower[10] = "rose";cout << flower << "s are red\n";数组名是第一个元素的地址,因此cout语句中的flower是字符‘r’的地址。cout对象认为char的地址是字符串的地址,因此他打印带地址处的的字符,然后继续打印后面的字符,直到遇到‘\0’为止。总之,如果提供一个字符的地址给cout,它将从该字符开始打印,直到"\0"为止。关键原创 2021-02-02 11:45:00 · 234 阅读 · 0 评论 -
指针、数组和指针加减
指针、数组和指针算数指针和数组基本等价的原因在于指针算数c++内部处理数组的方式。指针变量加1,增加的量等于它指向的类型的字节数。将指向double的指针加1后,如果系统对double使用8字节存储,则数值增加8字节。下面的例子展示了指针、数组和指针算数。指针和指针都可以通过指针和数组的方式获取数组的值。#include <iostream>int main(){ using namespace std; double wages[] = { 10000,20000,原创 2021-02-01 13:38:54 · 1099 阅读 · 0 评论 -
指针和自由存储空间
指针的声明和初始化int ducks = 12 ;int *birddog = &ducks;指针的危险在c++中创建指针时,计算机将分配用来存储地址的内存,但不会分配用来存储指针所指向数据的内存。为数据提供空间是一个独立的步骤,忽略这一步无疑是自找麻烦,如下所示:long *fellow;*fellow=123;[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Eu4993g6-1611589688413)(./指针的危险.png)]fellow确原创 2021-01-25 23:49:46 · 344 阅读 · 0 评论 -
C++11中使用to_string()连接字符串和数字
头文件:#include<string>void str_mani(){ string str1 = "birth:"; int year = 2000; int mounth = 12; string str2 = ", "; string str3 = str1 + to_string(mounth) + str2 + to_string(year); c...原创 2019-03-08 15:40:13 · 1073 阅读 · 0 评论 -
C++源文件和头文件的多文件结构
有X.h,Y.cpp和main.cpp在X.h里写#include <iostream>using namespace std;类声明、函数声明函数声明和类声明;在Y.cpp里有#include"pch.h"#include"X.h"#include<iostream>using namespace std;定义函数;ma...原创 2019-02-28 21:15:56 · 1947 阅读 · 2 评论