自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 extern、static关键字

extern、static 关键字在函数、全局变量、局部变量的作用各不相同。具体如下: a.c#include <stdio.h>/* extern void printA(); extern 可省略 外部函数声明 */void printA();void printB();void printD();//内部函数声明static void printC();//外部变量定义int

2015-04-27 23:19:31 417

原创 typedef关键字

#include <stdio.h>void print1(int,int);void print2(int,int);/* typedef 用于给类型定义别名 typedef 原类型名称 别名 *///基本数据类型typedef int myInt;typedef myInt myInt2;//指针typedef char * String;//结构体/* 1. struct S

2015-04-27 22:19:25 381

原创 条件编译

#include<stdio.h>#define A 1int main(){ int a=1; /* 此语句有错误,条件编译指令为预编译指令 在预编译时程序还未运行,因此无法取得变量a的值 #if(a==1) printf("错误语句"); #endif */#if (A==1)//可以省略()写成 #if A==1

2015-04-27 20:25:47 436

原创 宏定义及带参数的宏定义

#include<stdio.h>//宏定义,通常用于定义常量,在代码转换成二进制文件时会将代码中的宏名称替换成值//#define 宏名称 值#define A 1//带参数的宏 fun(a,b)为宏的名称 a+b为宏的值#define fun(a,b) a*b//为了保证替换结果,最好加入()运算符#define fun2(a,b) ((a)*(b))/* 预处理指令有三种: 1

2015-04-27 19:54:21 771

原创 枚举enum

int main(){ /* enum 枚举名称{val0,val1...}; val0默认值为0,val1为1,依次类推 enum 枚举名称{val0=3,val1...}; 设置了val0的值为3,则val1为4,依次类推 */ enum Sex { male, female, un

2015-04-27 00:39:35 250

原创 结构体struct

int main(){ /* 定义结构体类型 1.结构体占用空间大小为属性(成员)占用空间大小的和 1>如果结构体占用空间大小不是占用空间最大元素的倍数 则会自动补齐为倍数。 2>sizeof(p4.name)=8, sizeof(p4.age)=4, sizeof(p4.sex)=4 8+4+4=

2015-04-26 23:27:04 373

原创 数组的定义

数组定义数据类型 变量名[大小];1.int a[10];a[0]=1;a[1]=2;...2.int a[10]={1,2,3};3.int a[]={1,2,3};4.int a[10]={[1]=1,[3]=3};列子int a[10]; a[0]=1; a[1]=2; int b[]={1,2,3}; int c[10]={[1]=1,[3]=3}

2015-04-26 22:07:24 422

原创 指向函数的指针

void a();char *b();int c(int *,int);int main(){ /* 1. 函数的名称相当于函数的地址 2. 指向函数的指针,定义格式 指向函数的返回值 (*指针名称)(指向函数的参数列表) 3. 调用方式 1> (*指针名称)() 2> 指针名称() */

2015-04-26 21:46:06 273

原创 函数、指针、数组

void changeA(int *);int *getPoint();void changeArray(int array[]);int *getArray();int main(){ int a=10; changeA(&a); printf("a=%d\n",a); int *b; b=getPoint(); printf("*b=%d\n

2015-04-26 21:21:35 294

原创 关于字符数组、字符串、字符指针、字符指针数组

int main(){ char str1[]="abc"; char str2[]="a\0bc"; //字符数组(没有以'\0'结束) char str3[]={'a','b'}; char str4[]="哈"; /* 1.printf()中的%s占位符,在输出字符串时,只匹配到'\0'字符结束 2.strlen()函数计算

2015-04-26 20:44:41 302

原创 指针的类型

C语言中的指针类型用于告诉指针,其所指向的地址存放什么数据类型,而指针本身占用8个字节(64位编译器)的大小跟类型无关。 但对指针进行输入、输出操作时,指针的类型却至关重要。 例如输出时,如果指针定义为char类型,则指针会从所指向的地址至内存高位寻找1Byte(64位编译器)的内容输出。 如果定义为int类型,则会从所指向的地址至内存高位寻找4Byte(64位编译器)。int main()

2015-04-24 21:24:24 371

原创 指向指针的指针

int main(){ int a=10; //指向 变量a 的指针 int *p=&a; //指向 指针p 的指针 int **pp=&p; //指向 指向 指针p 的指针pp 的指针 int ***ppp=&pp; //*&p --相当于-- &*p printf("1.&a=\t%p , &p=\t%p \n &pp=\t

2015-04-24 15:08:40 414

原创 输出数字在内存中呈现的二进制数值

以下例子用于输出一个数字在内存中呈现的二进制数值。 其中有一些知识点需要注意:1.sizeof(num)用于获得num在内存中占用的字节数 2.<< 是二进制位左移操作 num<<1 --相当于-- num*2 num<<2 --相当于-- num*2*2 num<<n --相当于-- num*2^n(2的n次方)3.>> 是二进制位右移操作 num>>1

2015-04-23 18:58:48 1466

原创 利用按位与(&)判断数字的奇偶性

int main(){ int num; int q; do { printf("请输入一个整数\n"); scanf("%d",&num); if(num & 1) { printf("这个数是奇数\n"); } else {

2015-04-23 18:02:45 636

原创 采用不同方式进行数值交换

int main(){ int n1=1; int n2=10; printf("原数值n1=%d,n2=%d\n",n1,n2); //采用中间变量方式交换数值 int temp=n1; n1=n2; n2=temp; printf("第一次交换后n1=%d,n2=%d\n",n1,n2); //采用加减法交换数值 n1

2015-04-23 17:51:14 290

原创 C语言多文件编译

a.c文件//系统头文件使用<>#include <stdio.h>//自定义头文件使用""#include "b.h"int main(){ fun(); return 0;}b.c文件//b.c文件中存在一个fun()函数void fun(){ /* ... */}b.h文件//b.h文件用于存放b.c文件中函数的声明void fun(

2015-04-22 14:04:16 456

原创 C语言中的函数定义及函数声明

函数声明是由编译器检测的,只要调用函数前对其声明即可。 因此: 如果函数 void a()并不存在 但在程序中调用了 a(),且在之前进行了函数声明void a() 此时编译程序(cc -c)时编译器不会报错,但生成可执行文件(cc -o)时会报错。#include<stdio.h>//函数可以重复声明//void myPrint();//void myPrint();int main(

2015-04-22 11:48:12 613

原创 for循环作用域

for循环中,不同位置定义的变量作用域是不一样的。int main(){ int i=0; for(int i=0;i<3;i++) { printf("\tfor定义的i=%d\n",i); int i=5; { int i=10; printf("\t\t\tfor内部代码块定

2015-04-21 23:28:03 1128

原创 C语言中的逗号表达式

逗号表达式(,)也称逗号运算符,用于把多个表达式连接起来。int main(){ int a=(1+1,2+1,2+3); printf("%d\n",a); printf("循环结果为\n"); for(int i=0 ; i<3 ; printf("%d\n",i) , i++); return 0;}输出结果5循环结果为012

2015-04-21 22:44:25 421

原创 Mac OS X Terminal 打开Tab键自动补全功能

打开Terminal应用程序 输入 nano .inputrc再输入以下语句:set completion-ignore-case onset show-all-if-ambiguous onTAB:menu-complete输入完毕后 按下 Control + o 然后关闭、重启

2015-04-21 20:44:24 7529

转载 CSDN-markdown编辑器使用说明

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-04-21 20:30:36 415

原创 C语言中的作用域不明确错误

在C语言中编译器认为一个变量的作用域为距离其最近且包含其自身的{}内,但在一些特殊语法中(如 if-else 语句中),由于编码人员的不注意会造成变量的作用域不明确,从而导致编译器无法区分变量的作用域范围,则会报告作用域不明确编译错误。 为避免此类错误发生,在使用这些语句时应加入语句块{}避免错误发生。 如下所示:int main(){ /* if(1) int

2015-04-20 23:39:56 765

原创 C语言中的sizeof运算符

int main(){ int a=10; printf("%lu\n",sizeof(a)); printf("%lu\n",sizeof a); printf("%lu\n",sizeof(1)); printf("%lu\n",sizeof 1); printf("%lu\n",sizeof(int)); //错误写法 //prin

2015-04-20 22:02:42 678

原创 Mac OS X Safari 插件存放位置

shift + command + g输入 /Library/Internet Plug-Ins/ 即可输入~/Library/Internet Plug-Ins/可查看当前用户插件

2015-04-20 14:07:23 2435

原创 Mac OS X hosts文件存放位置

shift+command+g输入 /private/etc/hosts 即可hosts编辑时需要提前权限。private文件夹及etc文件夹也要同时设定,否则依然不允许修改。

2015-04-20 13:58:53 842

原创 C语言数据类型及内存占用

C语言数据类型包含:基本数据类型(int、char、float、double…)空类型(void)指针类型(*)构造类型(数组、结构体[struct]、公共体[union]、枚举[enum])其中基本数据类型在32及64位编译器中char类型占中**1**Byte、int类型占用**4**Byte、float类型占中**4**Byte、double类型占中**8**Byte。另外内存分配空

2015-04-20 13:47:47 736

原创 C语言常用占位符及各进制数值定义

%d 十进制整数占位符%c 字符占位符%f(.2f) 浮点类型占位符(小数部分占2位)%i 十进制、八进制、十六进制整数占位符%p 地址占位符(指针占位符)%s 字符串占位符%x(X) 十六进制整数占位符%o 八进制整数占位符%% 输出%

2015-04-20 11:40:53 12122 1

原创 linux常用操作命令

ls (ls -l) 列出当前目录所有内容pwd 显示当前操作路径cd 改变当前操作路径who 显示当前用户名clear 清屏mkdir 创建目录touch 创建文件open 打开文件、文件夹

2015-04-19 13:24:14 237

空空如也

空空如也

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

TA关注的人

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