C
sunberryL
这个作者很懒,什么都没留下…
展开
-
数组指针与指针数组
数组指针 (也称行指针)定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。 如要将二维数组赋给一指针,应这样赋值: int a[3][4]; int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a; //转载 2016-04-24 21:43:04 · 377 阅读 · 0 评论 -
隐式类型转换
算数转换在进行算数运算时,以表达式的最长类型为主,将其它类型的自动转换成最长类型。 注:1、在进行自动类型转换时,若原来的数为无符号数,那么在扩展时,高位填充的是0,若原来的数为有符号数,则就在高位填充符号位。 2、signed与unsigned之间转换时,signed会转换为unsigned。(例:int与unsigned short会转换为unsigned int)赋值转换进行赋值操作时,赋原创 2016-04-18 20:02:58 · 533 阅读 · 0 评论 -
第十题(2016.4.9)
给一个int型数组无序,从数组中选出两数字,使得这两数字之和为target,将这两数字的下标作为数组返回。(一定存在一个解)注意:对代码进行优化,可能会超时。 Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1]. ##include原创 2016-04-10 19:50:08 · 433 阅读 · 0 评论 -
2016.4.9测试,2016.4.10写。
C语言中的逗号运算符(顺序求值运算符)将两个表达式链接起来,是C语言运算符中优先级 最低的一种运算符,结合顺序是从左至右,逗号后面表达式的值作为整个表达式的值。 注意:x=(a+b,b*c)与x=a=5,a+b是不同的。前者中x的值为b*c的值,而后者则表达的是是x=5 和a+b一个赋值,一个算数表达式。宏常量与const常量宏常量(也称为符号常量,一般形式:#define 标识符 字符串):原创 2016-04-10 16:34:58 · 352 阅读 · 2 评论 -
二级指针(概念及用法)
二级指针二级指针:指向指针的指针。一级指针与二级指针的比较:一级指针的值为地址,地址需要空间来存放,是空间就具有地址 ,二级指针就是为了获取这一空间的地址。一级指针所关联的是其值(一个地址)名下空间里 的数据,这个数据可以是任意类型并做任意用途,但二级指针所关联的数据只有一个类型一个 用途,就是地址。指针的用途:提供目标的读取或改写,而二级指针就是对于内存地址的读取和改写。二级指针分为指向指针原创 2016-04-11 21:30:53 · 11105 阅读 · 0 评论 -
一级指针与二级指针作函数参数的内存分配
内存。 内存。内存内存原创 2016-04-11 22:00:53 · 551 阅读 · 0 评论 -
不同平台上的不同数据类型
(1)16位平台 char 1个字节8位 short 2个字节16位 int 2个字节16位 long 4个字节32位 指针 2个字节16位 (2)32位平台 char 1个字节8位 short 2个字节16位 int转载 2016-04-19 18:46:29 · 616 阅读 · 0 评论 -
C中一些运算符的使用
~取反:0取反是1,1取反是0; <<左移:例1<转载 2016-04-19 19:00:17 · 360 阅读 · 0 评论 -
大小端,位域
大小端是指数据在内存中存放的顺序,大于一个字节的整数,在内存中低字节在前的就是小端,高字节在前的就是大端。用C语言程序来判断大端机还是小端机:#includeint main(){ short x; char x0; x=0x1122; x0=((char *)&x)[0]; if(x0==0x11) printf("大端\n");原创 2016-04-19 19:46:26 · 575 阅读 · 0 评论 -
volatile
volatile就像const一样,它是一个类型修饰符。 1、当读取一个变量时,为提高存取速度,编译器优化时有时会先把变量读取到一个寄存器中;以后再取变量值时,就直接从寄存器中取值。 2、优化器在用到volatile变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。 3、volatile适用于多线程应用中被几个任务共享的变量。原创 2016-04-24 20:55:24 · 339 阅读 · 0 评论 -
C语言中各种基本数据类型在内存中的存储方式
整形数据在内存中是以补码的形式存在。对于一个整数来说,它的补码就是它的原码本身。对于一个负数来说,它的补码为原码取反再加1。 (注:原码就是这个数本身的二进制形式<整数的反码和补码都和原码相同>,反码是将其原码除符号位外各位求反,补码是在其反码的基础上加1.)实型数据在计算机中也是以二进制的方式存储,关键在于如何将十进制的小数转化为二进制来表示。 例、12.567 首先整数部分为:1100原创 2016-04-18 20:58:28 · 9422 阅读 · 1 评论