自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 符号优先级1题

unsigned char i=0x80;printf(“0x%x\n”, ~i>>3+1);//无符号16进制输出char ci=0x80;printf(“0x%x\n”, ~ci>>3+1);解析:取反操作前,字符型数据会自动转成整形即 i = 0x00000080~i 为 0xffffff7f~i>>3+1 由于+号运算符优先级比>&...

2019-06-09 23:11:29 460

原创 结构体内存存放规则

一般变量都是从高到低分配内存地址,但对于结构体来说,结构体的成员在内存中顺序存放,所占内存地址依次增高,第一个成员处于低地址处,最后一个成员处于最高地址处,但结构体成员的内存分配不一定是连续的,编译器会对其成员变量依据前面介绍的 “对齐”原则进行处理。#include <stdio.h>struct data{ int a; unsigned short b;};int...

2019-06-09 21:05:56 1492

原创 内核链表小结构体地址获取大结构体地址

2019-06-09 17:49:22 611

原创 软链接与硬链接

创建文件软链接ln -s scanf.c 1软链接:是一种特殊的文件,有独有的文件名和索引号(inode),可以根据它找到对应的文件,软链接可以看作是Windows中的快捷方式,可以让你快速链接到目标档案或目录。软链接不共享 inode,也可以说是个特殊的 inode,所以和原来的 inode 不一样。创建硬链接ln scanf.c 2硬链接:有自己的文件名,但是索引号(in...

2019-06-09 15:51:11 251

原创 编译四步走

编译的4步骤:gcc test.c -o test1、预处理:(1)把宏定义替换入代码(2)解析头文件(3)条件编译:#if 1 #else #endif#ifdef HELLO #else #endif(4)去掉注释代码gcc -E test.c -o test.i 2、编译:检查语法错误,把.c文件翻译成汇编语言gcc -S test.i -o test.s3、汇编:...

2019-06-09 12:06:36 750

原创 关键字

4.所有的变量默认为auto(自动,全局),将不再类,结构体,枚举,联合体,函数中定义的变量视为全局。register–>建议编译器将变量存储在寄存器中以提高效率,针对使用频繁的变量。static–>静态变量,限制作用域,存储在常量区。作用:(1).统计函数被调用的次数,(2)将局部变为全局(等同),(3).修饰全局不能被别的程序extern,限制当前文件。volatile–&g...

2019-06-09 11:13:13 99

原创 字符串操作

1.strncasecmp(字符串比较,忽视大小写) strcat(追加字符串)。2.strcpy是字符串复制,strcpy(pp,"*** ");把"*** "复制到pp中。strstr(buf,"

2019-06-09 11:02:33 81

原创 数组元素倒序

int a[10]; int *p=a, i, j, k, flag;//一共比对9次for(j=0; j<9; j++){ // 比对9-j次 for(i=0; i<9-j; i++) { //如果前面的数比后面的大则交换 if(a[i] > a[i+1]) { flag = a[i]; a[i] = a[i+1]; a[i+1] ...

2019-06-08 19:21:47 862

原创 删除重复的字符

int i, j, k;char ch[20];bzero(ch, 20);printf("请输入一个字符串少于20个字节:");//scanf是不支持输入空格 -->fgetsscanf("%s", ch);printf("你输入的字符串是:%s\n", ch);//计算字符串的有效字节数,不包括'\0'int len = strlen(ch);//第几个数进行比对fo...

2019-06-08 19:10:55 241

原创 经典查询判断杀人案

在广州某个夜晚,发生一起谋杀案,警察通过排查确定杀人凶手是4个嫌疑中的一个,以下是四个人的说词A说:不是我 ‘A’ B说:是C ‘B’C说:是D D说:C在胡说 其中只有3个人说了真话,1个人说了假话,现在根据这些信息,写一个程序来确定哪个是凶手? char killer; for(killer ='A'; killer < 'E'; killer++) { if...

2019-06-08 18:24:35 689

原创 二维数组类型甄别

共分为三个层级,可以联想大厦的架构int a[3][4]={{1, 2, 3, 4},{ 5, 6, 7, 8}, {9, 10, 11, 12}};假设:a==0x4000 整层: &a ==0x4000 --》整个二位数组的地址 前三层: a ==0x4000 --》大数组首元素地址,小数组地址 &a[0...

2019-06-08 18:15:35 137

原创 输出金字塔

int num;char eng;int sum;int i,j,k,h;printf("请选择:\n1、打印星星\n2、打印字母\n");scanf("%d",&sum);switch(sum){ case 1: printf("请输入一个整数:\n"); scanf("%d",&num); for(i=1;i<=num;i++) ...

2019-06-08 16:52:23 765

原创 线程笔记

1.程序:是二进制文件,他存储在电子磁盘(物理内存)进程:运行中的程序,系统会分配资源(管理所有打开文件的结构体,信号,虚拟内存…),系统分配资源最小单位线程:在进程里面可以创建多个线程,同一个进程里面的线程是共用一套系统资源,系统调度的最小单位2.线程的创建:(1)就是在进程里面分配了一个新的任务结构体(2)同一个进程里面的线程是共用一套系统资源(管理所有打开文件的结构体,信号,虚拟内...

2019-06-08 11:03:11 84

原创 把一个二进制文件设置为命令模式

把一个二进制文件设置为命令模式(任意位置都可以运行且不用输入路径)临时设置:export PATH=$PATH:~/test42、永久设置把一个二进制文件设置为命令模式(任意位置都可以运行且不用输入路径) (1)把export PATH=$PATH:~/test4 加入~/.bashrc文件里面 gedit ~/.bashrc (2)让配置文件立即生效 source ~/....

2019-06-08 10:37:05 327

原创 设置线程属性

设置线程属性为可分离 第一:定义属性变量并初始化 pthread_attr_t pthread_attr_init() 第二:调用你想设置的属性的接口函数 pthread_attr_setxxxxxxxx() 第三:创建线程的时候,第二个参数使用这个属性 第四:销毁属性 ...

2019-06-08 10:31:07 212

原创 上一张/下一张

最简式:#define BMPNUM 3if(num<BMPNUM) //下一张num++;elsenum=1;if(num>1) //上一张num–;elsenum=BMPNUM;

2019-06-08 10:28:30 1749

原创 对函数指针类型取别名并调用

对下面的程序段进行解释:1.typedef void (IpFunction)(void); -->void ()(void);指向void返回值,void参数这种函数的指针类型2.IpFunction IpReset = (IpFunction)0xF000FFF0;3.IpReset();1.为指向void类型返回值,只有一个void类型参数的的函数的指针取一个新的别名IpFun...

2019-06-07 11:59:47 1139

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除