c/c++ materials
文章平均质量分 72
阮莎SN
主要研究方向:社交网络,推荐系统,机器学习
展开
-
求数组大小
#include using namespace std;int main(){ int array[2][3] = {{1,2,3},{4,5,6}}; int i=sizeof(array); //i表示整型数组A所占的总空间的字节数 cout<<"i=sizeof(A)= "<<i<<endl; int m=sizeof(int); cout << m原创 2014-07-24 11:03:42 · 351 阅读 · 0 评论 -
字符串与指针
在C语言中,有两种方式存储字符串,一种是字符数组,另一种就是指针形式。第一种,字符数组#include #include int main(){ int i; char a[] = "hello,world!"; a[0] = 'H'; for (i=0; i<12; i++) { printf("%c", a[i]); } printf("\n"); ret转载 2015-03-28 20:25:19 · 356 阅读 · 0 评论 -
存储文本行
存储文本行的一种好办法是用一个指针(模拟一个数组)指向一系列的char型指针(每个模拟一个数组)。这种数据结构有时被称为不规则数组char *a[4] = {"this", "is", "a", "test"};char **p = a;#include char **p = malloc(4*sizeof(char *));if (p != NULL){ p[0] =原创 2015-03-28 22:12:34 · 520 阅读 · 0 评论 -
.h头文件的使用方法
1. 宏定义(预处理#define);2. 结构、联合和枚举声明;3. typedef声明;4. 外部函数声明;5. 全局变量声明。可以定义在global.h文件中,但记得写extern,然后再在global.c中写一遍,不加extern,如果有赋初值的变量,在global.h中不赋值,在global.c中赋值。global.h#ifndef __GLOBAL_H_#原创 2015-03-27 19:50:28 · 2153 阅读 · 0 评论 -
sizeof 和strlen
当计算字符串的大小时,sizeof和strlen的区别:sizeof 包括字符结束标识符,strlen不包括。#include #include #include int main(){ int a[2] = {0,1}; char b[7] = "hellor"; int i = sizeof(a); int j = sizeof(a)/sizeof(a[0]);原创 2015-03-27 21:49:16 · 488 阅读 · 0 评论 -
const 用法大全
看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设转载 2015-03-26 21:16:16 · 515 阅读 · 0 评论 -
警告:“semantics of '>' change in ANSIC”的意思
这是某些编译器提出的警告,指出有些代码在ANSIC的“值保护” 规则下得到的结果可能跟老的“无符号保护”规则下得到的结果不同。实际上改变的并不是>操作符的语义,而是当两个不同类型出现在二元操作符的两侧或者对短的整数类型进行提升时总是发生的隐式类型转换语义、(如果你觉得在表达式中没有使用任何无符号值,那么最可能是strlen函数,在标准C中,strlen返回size_t,无符号类型)原创 2015-03-27 10:41:46 · 479 阅读 · 0 评论 -
sizeof
#include #include int main(){ int a[2] = {0,1}; int i = sizeof(a); int j = sizeof(a)/sizeof(a[0]); printf("%d,%d\n", i,j); return 0;}当数组是函数的参数时,sizeof不能正确报告数组的大小,这个测试函数原创 2015-03-27 16:28:03 · 270 阅读 · 0 评论 -
动态分配多维数组
传统的解决方案是分配一个指针数组,然后把每个指针初始化为动态分配的“行”,如下例:#include int **array1 = malloc(nrows * sizeof(int *))for (int i=0; i<nrows; i++){array1[i] = malloc(ncolumns * sizeof(int))}也可以让数组的内容连续,但在后来重新分配行的时候会原创 2015-03-27 15:44:08 · 564 阅读 · 0 评论 -
数据结构-排序算法-直接插入排序
有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元原创 2015-03-15 14:49:08 · 354 阅读 · 0 评论 -
数据结构-栈的一些基础操作c++代码
堆栈(简称栈) 是一种操作受限的线性表,只允许在表的同一端进行插入和删除操作,且这些操作是按先进后出的原则进行的。template struct SLNode{ T data; //数据域 SLNode *next; //指针域 SLNode(SLNode *nextNode = NULL)原创 2015-03-31 20:18:13 · 631 阅读 · 0 评论