
C语言
哎呦喂lly
这个作者很懒,什么都没留下…
展开
-
C语言基础知识之(四):C语言中涉及的数字问题
数字运用详解一、求某个数字的倍数,求某个位(个位、十位…)上是数字几,以数字6来举例。1、求6的倍数:更改a的值为126,如下公式:求数字n的倍数,即任何数 % n == 0;没有余数,即可以整出。2、个位数是6;3、求十位是6; 4、求百位是6;同理,百位为3位数,先转换为3位数,再 / 100 得百位上原创 2015-08-23 10:22:41 · 1718 阅读 · 0 评论 -
C语言基础知识之(十一):结构体的内存
结构体成员内存分配的规则:1、各成员变量在存放的时候根据在结构中声明的顺序依次申请空间。2、系统按照对齐方式调整成员变量的存储位置,空缺的字节会自动填充。各成员变量存放的起始地址相对于结构体的起始地址的偏移量必须为该变量的类型所占用的字节数的倍数。 类型 对齐方式(变量存放的起始地址相对于结构体的起始地址的偏移量)原创 2015-08-29 12:14:12 · 665 阅读 · 0 评论 -
C语言基础知识之(十):结构体
一、结构体声明1、结构体声明位置:在main函数上面声明语法:struct 结构体类型名称{数据类型 成员变量名;数据类型 成员变量名;数据类型 成员变量名[ ];……};例:声明描述学生的结构体:学号、姓名、性别、分数struct student { int number; char name[20]; char sex原创 2015-08-29 12:03:29 · 1218 阅读 · 0 评论 -
C语言基础知识之(十八):堆内存的分配函数及运用
由开发人员负责分配和回收的内存区:堆区1、特点:由开发人员分配和回收。如果没有回收会造成程序泄露,导致程序崩溃。2、堆区分配内存的函数作用:指定分配存储空间的大小(字节数),将分配的存储空间的起始地址返回。堆内存是使用地址操作的,地址存储在对应的指针变量中。 Malloc函数语法:void * malloc(size)说明:void * 表示无类型指原创 2015-09-01 19:25:22 · 563 阅读 · 0 评论 -
C语言基础知识之(十四):指针和字符数组、字符串数组
1、定义字符数组存储字符串char str[ ] ="iPhone";//一维字符数组,末尾含有’\0’字符。 定义一个字符指针指向字符数组char *p = str; 使用指针p访问字符for (int i = 0; i printf("%c ", p[i]);}使用指针p打印字符串printf("%s\n",p);//p = strprint原创 2015-08-30 20:14:22 · 614 阅读 · 0 评论 -
C语言基础知识之(十七):内存的分区:栈区,堆区,静态区(全局区),常量区,代码区
一、内存分区种类计算机内存划分为5个区,地址从高到底依次是:栈区,堆区,静态区(全局区),常量区,代码区。如:int a = 10; //变量a存储在栈区char *s ="iPhone"; //指针s指向常量区“iPhone”打印地址:栈区的地址比常量区的地址大。printf("%p\n",&a);printf("%p\n",s);二、由系统分配和回收的内存区的主原创 2015-09-01 19:21:17 · 1041 阅读 · 0 评论 -
C语言基础知识之(十六):结构体和指针
一、定义一个老师类型的结构体,包含老师的姓名和年龄struct teacher{ char names[20]; int age;};typedef structteacher Teacher;Teacher t1 = {“zhangsan”,25}; 结构体指针:指针指向结构体类型的变量.定义指针指向结构体,指针p指向结构体的起始地址,即第一个成员原创 2015-08-31 21:19:35 · 429 阅读 · 0 评论 -
C语言基础知识之(十五):指针和函数
指针就是地址指针作为函数的参数,目的:将地址传入函数 例:函数:使用指针交换两个整型变量的值传入函数的是变量的地址,不是变量中存储的值void swapValue(int*p1, int *p2);void swapValue(int*p1, int *p2){// p1指向第一个变量, p2指向第二个变量 int temp = *p1; *p原创 2015-08-30 20:16:57 · 435 阅读 · 0 评论 -
C语言基础知识之(二十):指针高级运用
函数指针:1、定义指针指向函数int (*p)(int, int) = maxValue;2、通过指针调用函数,把函数指针当做函数名使用printf("max = %d\n", p(3, 5));结果是最大值5.语法:函数指针的类型 返回值类型 (*)(参数列表)如: int(*p)(int, int); 例题:定义两个函数 ,一个求最大值,一个求和,输入原创 2015-09-05 17:39:43 · 695 阅读 · 0 评论 -
C语言基础知识之(十九):内存操作的其他函数:内存初始化,内存拷贝,内存比较
内存操作的其他函数:内存初始化,内存拷贝,内存比较1、内存初始化语法:void*memset(void *s , int c , size_t n)说明:从给定的地址s开始,将n个字节中的值设置为c。作用:该函数以字节为单位进行操作,将内存中的数据清空。malloc+memest 等价于calloc 在堆内存中存储一个整型数,分配内存时,将内存中的数据先清空int原创 2015-09-01 19:28:40 · 651 阅读 · 0 评论 -
C语言基础知识之(九):函数
一、函数声明、定义和类型1、函数定义:定义函数包含四部分:返回值类型 函数名(形式参数列表){ 函数体(实现函数功能代码)}2、函数四种类型a、无返回值,无参数void sayhi( ){printf("Hello\n");}b、无返回值,有参数void printSum(int n1, int n2){printf("%d\n", n1+原创 2015-08-27 19:47:29 · 872 阅读 · 1 评论 -
C语言基础知识之(八):二维数组,二维字符串数组,代码安全
二维数组:复习:1、字符数组(一维)char a[5] = {'a','b', 'c', 'd', 'e'};2、2*3的字符数组(二维)char b[2][3] ={{'a', 'b', 'c'}, {'d', 'e', 'f'}};3、字符串的标志:在结尾的字符是'\0'。如:“hello”在内存中,按照字符的顺序连续存储,并以'\原创 2015-08-26 19:22:04 · 2203 阅读 · 1 评论 -
C语言基础知识之(五):break 和 continue 运用详解
一、break 和 continue的定义 break:switch语句中跳出switch语句;循环语句中跳出本层循环。(结束它所在的循环语句) continue:结束某一次循环(continue后面的代码不再执行),进入下次循环。通常与if连用原创 2015-08-23 19:03:58 · 839 阅读 · 1 评论 -
C语言基础知识之(六):数组-----数组类型、定义数组、读取数组、排序数组、字符串数组函数
一、数组简介1、数组属于构造类型2、什么是数组:具有相同数据类型的成员组成的一组数据3、整型数组、浮点型数组、字符数组、字符串数组。数组前的修饰词表示数组中存储的成员数据类型。二、定义数组类型修饰符 数组名[常量表达式] = {值1,值2,值3,...};说明:1、类型修饰符:声明了成员的数据类型2、[]中的值决定了数组中成员的数量3、{}中设置数组中的成员原创 2015-08-25 17:59:01 · 5241 阅读 · 0 评论 -
浅谈switch-case的语法和应用
Switch-Case:语法: switch (整型/字符型表达式) { case 值1:{ 语句1 break; } case 值2:{ 语句2 break; } ......原创 2015-08-22 10:09:49 · 901 阅读 · 0 评论 -
C语言基础知识之(二):分支
程序的三种结构:顺序、分支、循环1、顺序 按照先后顺序执行int a = 5;int b =7;先执行a= 5,在执行b=7.2、分支:if分支有三种形式形式1:if(条件表达式){语句}先执行()内的条件表达式,如果条件表达式结果为真,则执行if后面{}内的代码;如果条件表达式结果为假,则跳过{ }内的代码,执行if语句后面的代码。注意:上述代码表原创 2015-08-23 09:53:06 · 1099 阅读 · 0 评论 -
C语言基础知识之(一):进制、基本数据类型、常量、变量、表达式、语句
进制一、进制的规则: 1、N进制使用0 ~N-1之间的数字表示所有的数值 (1)二进制 0 1 (2)八进制 0~7 (3)十进制 0~9 (4)十六进制 0~9A~F(10~15) 2、N进制的数值每一位在计算时都是逢 N 进一 (1)在十进制下,计算9+1,数值是10,表现:10 (2)在二进制下,计算1+1,数值是2,表示:10 二、进制转换 1、原创 2015-08-23 09:33:23 · 1870 阅读 · 0 评论 -
浅述iOS用到的BOOL类型
BOOL类型1、简介在Xcode中的C工程中,只支持C89的标准,这里面是没有BOOL类型的;在Xcode中的OC工程中,支持C99的标准,这里面是含有BOOL类型;所以要使用BOOL类型,需在Xcode中建立OC工程。BOOL类型包含两个值:真(Yes)、假(No),使用%d输出,YES:1,NO:0。yes表示真,no表示假;一般的在C语言中,非0即为真。b原创 2015-08-22 09:29:39 · 5167 阅读 · 1 评论 -
C语言基础知识之(十三):指针、指针和数组
一、指针的声明和定义1、访问数据一般有两种方式:直接、间接直接:通过变量访问数据,如:通过变量a访问内存单元。int a = 10;printf("%d\n",a); 间接:通过内存单元的地址访问数据。取地址符&,获取变量a所在的地址并用%p打印。printf("变量a存储单元的地址:%p\n",&a); 2、指针的定义存储内存单元地址的变量称为:指针指原创 2015-08-30 20:12:17 · 573 阅读 · 0 评论 -
C语言基础知识之(七):循环嵌套的用途和规律
循环嵌套:含义:一个循环体内完整的包含另一个循环用途:1、打印行列数字例:打印四行四列的数字1 2 3 41 2 3 4 1 2 3 4 1 2 3 4分析: a、需要使用两个循环。一个循环控制行,一个循环控制列。b、外层循环控制行,内层循环控制列for (int i = 1; i for (int j = 1; j pri原创 2015-08-26 17:38:51 · 5647 阅读 · 1 评论 -
C语言基础知识之(十二):结构体作为函数的参数(结构体变量、结构体数组)
结构体作为函数的参数结构体作为函数的参数分为两种:结构体和结构体数组。不管是那种作为函数的参数,本质上参与函数运算的都是结构体变量或结构体变量数组内的成员变量。结构体更易于操作是因为结构体变量之间可以直接赋值。如:声明一个老师类型的结构体,并定义和初始化声明老师结构体类型,并用typedef重命名struct teacher{ char name[20];原创 2015-08-29 12:18:23 · 1944 阅读 · 0 评论 -
C语言基础知识之(三):循环、随机数
循环结构:循环:当满足某个特定条件的情况下,重复执行一段代码。作用:减少重复冗余的代码,增加代码的可读性,易于维护重点:各循环语句中循环条件的执行顺序。While循环Do…While循环For循环 While循环: while (条件表达式) { 语句 } 条件表达式为真,执行循环体;条件表达式为假,循环停止。 条件原创 2015-08-23 09:59:23 · 1967 阅读 · 0 评论