c问题记录
Lenaz
1.在自己的能力范围内,提出一些合理的要求,可以使人走的更远
2.不断学习
展开
-
malloc(0)分配到的内存大小
char *ptr; if ((ptr = (char *)malloc(0)) == NULL) puts("Got a null pointer"); else puts("Got a valid pointer"); 这道题答案是? 输出:Got a valid pointer malloc(0)是指分配内存大小为0,也是一种存在,不是NULL翻译 2017-07-11 16:25:17 · 307 阅读 · 0 评论 -
C++11中,&表示左值引用,&&表示右值引用
左值和右值都是针对表达式而言的,左值是指表达式结束后依然存在的持久对象,右值指表达式结束时就不再存在的临时对象——显然右值不可以被取地址原创 2017-07-11 16:07:37 · 1505 阅读 · 0 评论 -
typedef char map是什么?
有人问我, typedef char map是什么?我当时回答说typedef和const相同。 改正: typedef 和define作用类似,但实质不同。 typedef的作用就是:为现有类型创建新名字(或者同义词) 使用的目的:1.给变量一个易记且意义明确的新名字 2.简化一些比较复杂的类型声明 用法:typedef existing_原创 2017-07-12 09:50:34 · 383 阅读 · 0 评论 -
数组名 a 与&a的区别
int a[5]={1,2,3,4,5}; int* ptr=(int*)(&a+1); printf("%d,%d\n",*(a+1),*(ptr-1)); 结果截图: (1)数组名a是指针常量,只有2种情况下,不是用来表示指针常量。 1.sizeof(a)表示的是a数组的长度,不是常量指针a的长度 2. &a--表示的是整个数组,不是&a[0]的地址,虽然&a与&a[0原创 2017-07-12 10:11:14 · 677 阅读 · 0 评论 -
求0-1间的随机浮点数
#include #include #include void main() { float a[10]; int i; srand(time(NULL)); for(i=0;i printf("%0.2lf\n",(rand()%2)/20000.0); } 因为%2的范围是0-1然后除以20000就是0-0.00005。然后保留2位小数,就全部都是0.00原创 2017-07-13 16:58:00 · 1473 阅读 · 0 评论