上一页 1 2 3 4 5 6 7 ··· 12 下一页
摘要: int a=3; ~a=-4 3的二进制是011,第一位的0是符号位,按位取反为100,符号位为1,数字位为00,因为这是个负数要转换成补码,00的补码为100,再加上前面那个符号位1,最后得1100,十进制为-4。 计算补码有两个办法: 1、按位取反再加1 00-->11-->100 2、用高位1 阅读全文
posted @ 2021-01-22 19:34 大牛等等我 阅读(1137) 评论(0) 推荐(0) 编辑
摘要: 1、直观想到的就是子函数定义为返回指针类型。 int *subf(void){return malloc(sizeof(int)*10);} int main(void){ int *p=subf(); free(p); return 0; } 2、这里要说的是主函数调用子函数时将定义好的指针地址传 阅读全文
posted @ 2021-01-22 18:58 大牛等等我 阅读(338) 评论(0) 推荐(0) 编辑
摘要: char s[]="hello world"; sizeof(s)=12 strlen(s)=11 printf("%s",s) hello world char s[100]="hello world"; sizeof(s)=100 strlen(s)=11 printf("%s",s) hell 阅读全文
posted @ 2021-01-21 20:27 大牛等等我 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 以前一直认为函数中的字符串用字符串常量赋值时,字符串常量存储在data区,而函数栈帧中只存储data区中这个字符串常量的指针。今天在xcode中仔细观察了下,发现栈帧中其实存储了这个字符串,而非是存储字符串常量指针。另外,char * a="hello" a指向常量区,内容无法修改, char a[ 阅读全文
posted @ 2021-01-20 23:32 大牛等等我 阅读(360) 评论(0) 推荐(0) 编辑
摘要: fopen()函数主要做是: 1. 建立一个FILE对象。 2. 根据路径在外存中找到描述文件的对象,并根据所找到的对象的信息初始化FILE对象。 3. 返回FILE对象的指针。 从上可知,调用fopen()函数时,并未将文件的内容读到内存中,而是在文件系统中找到描述该文件的对象,并建立描述该文件的 阅读全文
posted @ 2021-01-19 11:57 大牛等等我 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 先说方案,因为读到文件末尾时feof还不能为真,需要再读一下才能为真。所以循环时可以在循环外面先读一次 然后进入循环再对前面读到的内容做处理,然后再往下读,再进入下次循环。这样就是每次循环处理上次循环读到的数据了。这样就解决了到文件末尾会多处理一次数据的问题。 fgets(buf, 100, fp) 阅读全文
posted @ 2021-01-18 20:06 大牛等等我 阅读(1285) 评论(0) 推荐(0) 编辑
摘要: 声明数组,但是不初始化如int a[5] ,会分配出数组空间,但是空间内都是内存中的垃圾。 声明数组时,如果给数组初始化了,如int a[5]={1}; 则未被赋值的元素就全部填充为0,我测试过的各种类型数组都是如此。 如果声明数组时未初始化,后面再赋值则只会改变赋值的元素,其他元素不会再填0了。 阅读全文
posted @ 2021-01-15 13:14 大牛等等我 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 负数是用补码表示的,不需要考虑它的源码。将一个正数完全取反再加1就得到它对应负数的补码形式。0000 0001 取反1111 1110 再加1 得 1111 1111是-1。 因为1111 1111加1为1 0000 0000 溢出的位直接丢弃,得到结果是0。 127 是0111 1111 全部取反 阅读全文
posted @ 2021-01-14 14:36 大牛等等我 阅读(255) 评论(0) 推荐(0) 编辑
摘要: mac下的readelf和objdump ELF文件包括: (1)可重定位的目标文件 (2)可执行的目标文件 (3)可被共享的目标文件 可以用file命令来看目标文件是否是ELF文件 在linux下,用readelf来看ELF头部或者其它各section的内容,用objdump来对指定的内容(.te 阅读全文
posted @ 2021-01-11 13:12 大牛等等我 阅读(2802) 评论(0) 推荐(0) 编辑
摘要: -E预处理生成.i -S编译生成.s -c汇编生成.c -o生成可执行文件的名字 testmath.h中声明了sum方法和sub方法。sum.c中定义了sum方法,sub.c中定义了sub方法。main.c中include "testmath.h" 并调用sum方法和sub方法。gcc sum.c 阅读全文
posted @ 2021-01-10 01:21 大牛等等我 阅读(115) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 12 下一页