- 博客(8)
- 收藏
- 关注
原创 typedef
一、给数据类型起外号typedef 数据类型 新数据类型typedef unsigned long long int uint64;uint64 c=30;uint64 d=20;typedef int *Pint;Pint e;// int *e;注:去掉typedef,查看定义的变量,然后加上typedef就由这种变量升级为该类型。二、开辟二维动态数组:typedef int(*PArr)[4...
2018-05-03 16:03:20 110
原创 结构体
自定义数据类型:结构体自定义数据类型定义完成以后,等于内置函数。1、结构体不能定义一个自身的普通成员变量,但可以定义一个指向自身的指针;2、结构体普通变量通过“.”来访问成员;3、结构体指针变量通过“->”来访问其成员。 例1:struct A{struct A g; //error 因为自身没结束,没法分配内存struct A *p; //ok ,因为指针一定是4个字节};例2...
2018-05-03 16:01:27 192
原创 计算等式是在几进制中进行的?
例: 567*456=150216在()进制中A:9 B:10 C:12 D:18解:(5*n^2+6*n+7)*(4*n^2+5*n+6) =20*n^4+24*n^3+28*n^2+25*n^3+30*n^2+35*n+30*n^2+36*n+42=20*n^4+49*n^3+88*n^2+71*n+42150216=n^5+5*n^4+2*n^2+n+6令20*n^4+49*n^3+...
2018-04-18 13:17:51 302
原创 assert断言&&const
一、assert断言:断定表达式的结果一定为真,如果为真什么都不做,如果为假程序崩溃;只在debug版有效。例:assert(des!=NULL&&src!=NULL); if(des==NULL||src==NULL){return ;}注:1.断言顺序值得注意,断言顺序不能放后面!2. assert只在 Debug版有效,后面的if语句是在release版起作用的。二、c...
2018-04-18 11:23:38 370
原创 指针运算
一、指针++p++;即指针+1,是指加一个单元格(整形是4格,double是8格.......)二、指针加数字需要调整,调整的权重为sizeof如:p+3;即:p+(3*sizeof(int))又如:int *p1=(int *)2000;//强转为指针类型printf("%d\n",p1+4);//2000+4*4=2016printf("%d\n",(char*)p1+4);//2000+4*...
2018-04-18 10:29:26 104
原创 什么时候会崩溃?
这段程序我们目测会崩溃吧?然而实则不然,我们来看看运行结果是什么?并没有我们想要的崩溃;为什么呢?因为被调用函数中p值得改变并没有作用到主函数;这样改了之后,就出现了想要的崩溃:*p才作用到变量a,所以需要将*p置为NULL,而不是p。...
2018-04-01 15:42:33 298
原创 指针相关内容
1、指针==地址;2、获取任何变量的地址都是:&变量名;3、*指针变量名,则间接访问到(跳到、解引用)指针指向的变量;4、指针类型一样才能赋值;如: char a; int *p=&a;这就错误了,因为char类型是一个字节,而int是四个字节,这就越界了,所以错误了。5、指针的大小(x86)32位平台指针的字节都是4;(x64)64位平台指针的大小都为8;int a; &a...
2018-04-01 15:22:43 108
原创 求位数,输出每位数字,逆序输出
question:给一个不多于5位的正整数,要求:1.求出它是几位数;2.顺序输出每一位数字;3.按逆序输出各位数字,例如原数为321,应输出123.第一问,我本来只是这么写的:可能比较习惯于for语句吧,所以第一反应就是for循环,后来上课又用了while语句来写:运行了后发现遇到0,输出结果就不对了,,就是判断不了0的位数,于是就想到了dowhile语句,毕竟do while是专门解决含0问题...
2018-04-01 14:47:23 500
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人