
c/c++
文章平均质量分 55
乘风life
学如逆水行舟,不进则退!
展开
-
C的基本数据类型和其格式化输出
C的基本数据类型长度原创 2022-01-08 15:05:31 · 1456 阅读 · 0 评论 -
C常用内存分配接口,malloc/calloc/realloc/alloca。
函数原型 参数说明 返回值说明 功能 特殊说明 void *malloc(size_t size); size:被分配的堆内存大小 成功:分配的堆内存的起始地址 失败:NULL 内存的动态存储区中分配一个长度为size的连续空间 无 void *calloc(size_t numElements, size_t sizeOfElement); numElements:对象个数 sizeOfElement:单个对象大小 成功:分.原创 2022-01-08 11:39:56 · 821 阅读 · 0 评论 -
断言(assert)的用法
文章转载至http://www.cnblogs.com/thisway/p/5558914.html我一直以为assert仅仅是个报错函数,事实上,它居然是个宏,并且作用并非“报错”。 在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert()的用法像是一种“契约式编程”,在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个if语句:转载 2017-02-22 11:38:38 · 296 阅读 · 0 评论 -
关于指针的引用与指针的指针的理解
今天上午在学习数据结构的过程中,写了一段错误的代码,找了一上午的错误才发现是因为用错了指针的问题,错误的关键点是:将指针当做形参其实也是值的传递,在在副本中改变了指针变量的内容,即函数内部改变了指针的指向,在函数外部指针的指向并没有改变。这种情况下应该要用双重指针或指针的引用作为形参。多说无益,直接上代码。#include using namespace std;void f1(int *原创 2017-03-23 14:53:57 · 338 阅读 · 0 评论 -
基本数据类型强制转换问题-值的截断和内存的截断
(1)double a1=22.32; int b1=(int)a1;(2)double a2=2.5e20; int b2=(int)a2;按照浮点数到整数的转换语义,结果应该截去浮点数的小数部分,而保留整数部分。所以b1应该为22,而b2则超出了其能表示的范围。这是值的截断基本数据类型直接的指针转换一般来说必将造成内存截断或内存原创 2017-05-21 16:38:05 · 6459 阅读 · 0 评论