
C/C++
自醉其中
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Dev-c++ [Error] 'for' loop initial declarations are only allowed in C99 or C11 mode
在for循环里声明变量只允许在C99或C11模式, 刚刚下的Dev-C++,需要在工具(Tools)/编译选项(complier option) 加入-std=C99原创 2017-10-29 00:19:11 · 7641 阅读 · 4 评论 -
typdef与define的区别
1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如: #define PI 3.1415926 程序中的:area=PI*r*r 会替换为3.1415926*r*r 如果你把#define语句中的数字9 写成字母g 预处理也照样带入。 2)typedef是在编译时处理的。它转载 2017-10-16 19:49:54 · 1003 阅读 · 0 评论 -
C/C++程序运行时间间隔
从程序开始到运行点的时间间隔在time.h中定义了一个CLOCKS_PER_SEC/* Clock ticks macro - ANSI version */#define CLOCKS_PER_SEC 1000表示1秒钟内有多少个时钟计时单元,在标准C/C++中,最小的计时单位是1毫秒。#include <time.h> //clock() 头文件 printf("Ti...转载 2018-11-21 10:33:56 · 3689 阅读 · 0 评论 -
C/C++数据类型须知
数据类型的本质:固定大小内存块的别名例如程序:#include <stdio.h>void main(){ int arr1; //告诉c编译器分配4个字节的内存 int arr2[10]; //告诉c编译器分配40个字节的内存 printf("arr2:%d, arr2+1:%d, &arr2:%d, &b+1:%d\n", arr2, arr2+1...原创 2019-02-01 16:02:41 · 186 阅读 · 0 评论 -
C程序内存分配
C程序内存分布注意:rodata段为数据常量是不可以改变的。例如:转载 2019-02-01 16:08:03 · 196 阅读 · 0 评论 -
二级指针堆内存模型--字符串赋值易错点
内存模型图:当DEBUG为1时直接修改了堆中的内存指向,造成了内存泄漏,而且在free的时候会free常量区直接报错,最好的办法就是用内存拷贝函数执行字符串赋值操作,避免指针指向常量区,造成程序出现bug。#include <stdlib.h>#include <string.h>#include <stdio.h>#define DEBUG 0...原创 2019-03-15 13:56:01 · 313 阅读 · 0 评论