C语言
KK的任意门
改变,从去影响开始。
展开
-
C中malloc和C++中new的区别
1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。1.2 voi转载 2017-10-18 09:17:15 · 418 阅读 · 0 评论 -
对Ascll码的一点理解
键盘输入输入的都是字符,计算机是以数字的二进制形式进行运算,故字符会在计算机内根据对应的Ascll码,如'A'的Ascll码是65,若想将'A'转成'a',则要将65+32=97,即'a'的Ascll码,然后仔转成字符输出。...原创 2019-01-06 16:55:11 · 819 阅读 · 0 评论 -
C语言中1/2问题
int main(){ printf("%f",1/2);}这样输出还是0.000000,因为1/2是转为整型是向下取整,固为0,然后取浮点数。要使输出不为0,应该在算的时候做强制转换int main(){ printf("%f",(float)1/2);} ...原创 2019-01-07 20:59:31 · 12752 阅读 · 0 评论 -
当数很大时候,C语言怎么样计算一个数的阶乘
就算定义unsigned long,也难免太大的数会有溢出,可以用数组的方法来求大数的阶乘#include<stdio.h>#include<string.h>int main(){ int i,j,n,temp,d=1,carry;//temp为阶乘元素与临时结果的乘积,carry是进位 ,d是位数 int a[3000];//确保数组足够大 sca...转载 2019-01-14 23:03:21 · 1011 阅读 · 0 评论 -
a++,++a,a+1在作为形参的区别
最近编程遇到了这么一个有趣的问题,乘机会了解一下这三者的区别,见下代码int f(int a){ cout<<a<<endl;}int main(){ int a=2; f(a+1); cout<<a;}输出的结果为3,2从结果情况分析,函数将实参a=2先拷贝到形参的内存,然后形参+1,a本身的值没有影响...原创 2019-03-04 22:25:12 · 849 阅读 · 0 评论 -
结构体内存对齐
转载小姐姐的 链接:https://blog.csdn.net/dai_wen/article/details/78304568关于内嵌结构体的对齐可以参照这篇文章:https://blog.csdn.net/gaoyi221119/article/details/77989522在C语言中,除了最常见用数据类型,字符类型(char)、整数类型(short、int、long )、实型(f...转载 2019-03-05 18:47:11 · 218 阅读 · 0 评论