自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (1)
  • 收藏
  • 关注

原创 删除 main.storyboard和SceneDelegate后 指定了rootViewController 还是黑屏

删除 main.storyboard和SceneDelegate后 指定了rootViewController 还是黑屏

2022-09-27 16:55:39 436 1

原创 安卓编译工具 Gradle

setting.gradle 记录哪些Module加入编译过程项目的:build.gradle 所有的Module都继承项目的配置Module的:build.gradle 当前Module的配置,Module配置高于项目的配置配置中的内容minSdkVersion 最小兼容版本compileSdkVersion 编译的SDK版本targetSdkVersion 目标版本,SDK兼容dependencies 依赖的配...

2021-08-27 15:45:02 214

原创 安卓android 简单记录项目目录对应关系

Project目录模式java文件目录位置 app - src - main - java配置文件app - src - main -AndroidManifest.xml布局文件app - src - main - res - layout文字和颜色app - src - main - res - valuesAndroidManifest.xml 中配置对应的java页面和main页面在ja...

2021-08-27 15:26:53 128

原创 iOS AFNetworking Code=-1011 “Request failed: bad request (400)“

调试接口前要和后端确定一下,参数格式(是json或是二进制)AFNetworking默认的格式是二进制如果请求的参数格式是json需要修改manager.requestSerializer = [AFJSONRequestSerializer serializer];一般常用的格式AFHTTPRequestSerializer:第一种是普通的http的编码格式也就是pageNum=1&pageSize=10&areaId=1&startTime=2018-05-01&

2021-04-16 17:11:13 1392

转载 Git 打补丁 patch 方式

1、创建patch 文件的常用命令行*某次提交(含)之前的几次提交:git format-patch 【commit sha1 id】-nn指从sha1 id对应的commit开始算起n个提交。eg:git format-patch 2a2fb4539925bfa4a141fe492d9828d030f7c8a8 -2*某个提交的patch:git format-patch 【commit sha1 id】 -1eg:git form...

2021-04-07 10:18:47 273

转载 Git 常用命令

git branch 查看本地所有分支git status 查看当前状态git commit 提交git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释git remote add origin git@192.168.1.119:ndshowgit push origin master 将文件给推到服务器上git remote show origin 显示远程库origin里的资源git ...

2021-04-07 10:13:14 104

原创 内存管理的基本概念及范围

为什么要内存管理因为内存有限,要确保应用流畅的运行需要提供合理的空间并且要合理的释放空间一个app应用当内存达到 20M  系统会向该app发送警告 45M  系统会再次向该app发送警告 110M  直接闪退OC内存管理的范围管理所有继承了NSObject类的对象内存分区:栈区:局部变量,系统开辟空间,系统管理堆区:动态生成的对象,全局区:全局

2015-11-08 21:23:36 1086

原创 c语言实例-通讯录

代码是在xcode中写的c语言代码

2015-10-30 22:39:19 607

原创 C语言小游戏-走迷宫

改程序是在xcode下写的c语言代码

2015-10-30 22:20:31 2000

原创 c语言的文件操作

文件的操作步骤步骤:一、打开文件使用fopen函数打开文件,然后使用文件指针变量接受。1、文件指针变量的声明FILE *变量名;注:FILE四个字都需要大写。例:FILE *fp;2、fopen函数的使用:文件指针 = fopen("文件名","文件使用方式");函数有1个返回值返回值的类型的事文件指针。注意:一般对文件返回值要做一个判断指针是否

2015-10-30 22:09:32 612

原创 文件操作实例-加密文件

#include void encryptFile(){      FILE * fileRead;   fileRead = fopen("/Users/xxxxxxxx/Desktop/原文件.mp4", "r");   FILE * fileWrite;   fileWrite = fopen("/Users/xxxxxxxx/Desktop/加密文件.mp4",

2015-10-30 22:06:28 456

原创 值传递和引用传递

值传递: 使用函数,如果参数值基本数据类型,那么传递数据的时候是将数据复制一份传递到函数 中. 在函数调用时将复制的数据赋值给函数的形式参数. 由于传递的是数据本身,因此常常称 为值传递。简单总结:传递的是变量里存的具体数值(相当于copy了一份) 如:引用传递:使用指针类型的变量作为函数的参数,函数在调用的时候传递的是变量的地址. 那么在函数 中使用的变量进行

2015-10-23 18:33:35 373

原创 c语言中指针变量作为函数的参数

1、定义方法返回值类型      函数名(类型 *指针变量名){函数体; }如:void changeNum(int *pInt){printf("这个数是:%d",*pInt);*pInt = 30; //这里修改指针指向的空间里的值后,主调函数外面的值也就修改了 }2、调用方法 函数名(变量地址);例:int num = 16

2015-10-23 18:32:30 1108

原创 c语言指针介绍

1、指针的基本概念在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占4个单元,字符量占1个单元等,为了正确地访 问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单 元。内存单元的编号也叫做地址。既然根据内存单元的编号或地址就可以找到所需的 内存单元,

2015-10-23 18:29:20 712

原创 c语言中数组长度的计算

一维数组 计算数组的长度:             sizeof(数组名)                得到这个数组占用内存的总长度     公式:        sizeof(数组名) / sizeof(数组类型);二维数组 二维数组计算列数:                 每行的总长度  / 元素占用的字节        

2015-10-23 18:27:34 39626

原创 二维数组

二维数组:        简单来说就是一个数组里面的每个元素又是一个数组   语法:        类型  数组名[大元素个数][每个元素内的小空间个数];          例:            int nums[4][3];         记住:大元素个数可以理解为行数,每个元素内的小空间个数可以理解为列数   所以我们只要把二维数组

2015-10-23 18:25:38 363

原创 冒泡排序

如:有7个数70 60 5040 30 20 10 现需用冒泡排序将其从小到大排列具体思想步骤:先用第1个数跟第2个数比较,发现70比60要大,所以70跟60交换位置,即现在位 顺序为:60 70 50 40 30 20 10 再然后用第2个数跟第3个数进行比较,因为此时第2个数已经变为 了70,所以是70与第3个数比较,发现70又比50要大,于是将第2个数与第3个数交

2015-10-23 18:23:16 322

原创 数组作为函数的参数

1、数组元素作函数实参数组元素就是下标变量,它与普通变量并无区别。 因此它作为函数实参使用与普通变量是完 全相同的,在发生函数调用时,把作为实参的数组元素的值传送给形参,实现单向的值传送。2、数组名作为函数参数当函数的形参是一个数组时,那么我们的实参必须传入一个数组(数组名)注意:此时在函数内部改了某个元素的值,外部数组元素也会发生改变

2015-10-23 18:22:37 542

原创 C语言的数组的介绍

数组:一个变量保存多个类型相同的数据数组的语法:           类型  数组名[正整数];            正整数就是你这个变量要保存多少个数据        例:int nums[10];  //保存10个int数据                char  chs[5];  //保存5个字符数据数组的三个专业术语:1.元素:数组之中划分的小空

2015-10-23 18:19:21 416

原创 c语言的多文件开发

我们实际开发中的项目,基本都是团队协作开发,每人负责一个模块(功能),这样比较利   于项目的快速开发。案例: 模块:数学功能将1个功能模块的函数应该单独的写在1个文件之中. 每1个模块1个文件. 新建1个.c文件.在这个.c文件之中写上相关的函数.在要调用的地方, 先声明函数以后 才能调用.这么做可能存在的问题:1). 如果写模块的人 新增了1个函数 那么

2015-10-23 18:15:48 427

原创 C语言的预处理指令-include指令

1、#include是一个预处理指令1) 什么是与处理指令? 就是在源代码编译之前进行的一系列操作。其中预处理指令包含:文件包含、宏定义、条件编译指令 等等 预处理指令的特点:A、所有的预处理指令都是以#开头 B、没有分号C、在编译之前执行2)#include指令是一条文件包含预处理指令作用:将指定文件的内容拷贝到写这条#include指令的地方 语法:#inc

2015-10-23 18:12:36 3410

原创 Xcode编码区中行号如何显示

第一步:调出preferences,偏好设置a、使用快捷键  command  + ,b、菜单选项 Xcode   ->   preferences 第二步:选择   Text Editing第三步:勾选 Show  中的  Lien numbers然后关闭对话框,看编码区中行号已经显示了

2015-10-23 18:11:20 395

原创 Xcode调试的使用

一、断点调试打断点:         在对应的某行代码行号处点击鼠标左键,点击完后会生成一个阴影,如:下断点有什么用?当你用Xcode编译并启动程序时,程序执行到你下断点的地方会卡住,不再往下执 行,如:我们发现第43行代码处有一行绿色的yin阴影,这代CPU执行到这一行时停止了(此行还没执行),如果想继续往下执行,此时有三种方法:1、往

2015-10-23 18:07:34 517

原创 return关键字

return关键字也有结束的作用,但效果比break、continue恐怖的多,是直接结束整个函数。return 关键字后面的语句不会被执行总结:    break       continue           returnbreak:用在循环或者switch case语句中,用来结束其所在的循环或者switch case语句continue:用在循环中,用来结束其

2015-10-23 17:50:41 595

原创 全局变量和局部变量

全局变量:        就是定义在函数外的变量就叫全局变量(不在代码块{}里面定义的变量)  局部变量:        就是定义在函数内的变量就叫局部变量(在代码块{}里面定义的变量) 区别:    1.局部变量只能在它所在的作用域里面使用,全局变量在任意函数内都可以使用    2.局部变量在它所在的代码块结束后就被回收,全局变量在程序结束的时候才会被回收   

2015-10-23 17:49:39 538

原创 函数的申明

1、为什么需要对函数进行申明 编译器很笨,只会从上到下依次将代码翻译成计算机可以识别的二进制指令,所以如果当函数的申明写在它被调用之后,编译器会报错!为了解决这个问题,所以如果函数的实现写在调用语句后面的话则需要先对函数进行申明。代表告诉编译器:有这个函数,你只管编译就好!2、 完整的写函数的两个步骤1). 函数的声明语法: 只写函数头 直接加1个分号结束.

2015-10-23 17:46:01 1052

原创 有返回值的函数

什么时候需要函数的返回值?   当函数执行完毕能得出一个结果,但是函数内部不知道怎么正确地处理这个结果,恰好这个结果又是调用者想用来得到的,就需要有函数的返回值!怎样让函数有返回值?1)确定要返回的值的类型 2)修改函数的返回值类型为你想要返回值的类型(如将之前的void改为int) 3)在函数内使用 return 表达式 返回 语法:     返回值类型

2015-10-23 17:41:44 6283

原创 c语言中typedef的使用

typedef 可以自定义一个类型 typedef的作用是可以将任何类型相当于改一个你自己喜欢的名字。例如,改完以后int类型可以不叫int类型,直接只叫i类型(或者直接改为中文名) 语法:typedef   原本类型的名字    你想改的类型名字一般我们都把typedef用在 匿名结构体上给它一个别名

2015-10-22 23:04:26 393

原创 c语言的结构体

一、结构体简介结构体就是可以存多种类型多个数据的变量跟数组的不同之处数组虽然也能存多个数据,但是只能存同类型的数据。但是结构体是不光能存多个数据,并且可以允许数据是不同类型的定义结构体类型的语法:        struct  结构体名{             成员列表;        };     切记切记有分号! 说明:成员列表

2015-10-22 22:59:23 357

原创 c语言中字符串的常用函数

1、字符串输出函数 puts格式: puts(字符数组名)功能:把字符数组中的字符串输出到显示器。 即在屏幕上显示该字符串。puts和printf 加%s 的区别:     1.puts不需要格式化控制符,printf需要                 2.puts只能输出字符串,printf其他类型都可以输出                 3.puts自带换行

2015-10-22 22:54:29 516

原创 c语言中字符串的输入和输出

字符串的输出和输出a、使用的格式字符串为“%s”,表示输入、输出的是一个字符串。例如b、使用字符串输入(gets)、输出(puts)函数如warning: this program uses gets(), which is unsafe.使用gets()时会给出上述警告,提示不安全(也就是输入的字符串大于数组的容量时字符串就溢出到 其他存储空间 了

2015-10-22 22:51:46 2012 1

原创 c语言中的字符串

一、C语言中的字符串c语言中没有字符串类型字符串实际就是多个字符连在一起,所有可以用字符数组来存放字符串。但是使用字符数组输出时需要使用for循环例如:这样使用十分不方便,有没有一种简约的方式,让我们一下子就能输出呢?有但是需要改两个地方!        1.长度要+1        2.末尾要加一个'\0'然后用 %s(格式化控制符)就可以输出了!

2015-10-22 22:50:29 811

原创 有参函数

1、什么是函数的参数?  在函数名右边的小括号里申明的变量,就叫参数。注意:没有分号!2、函数的参数的本质: 相当于函数内部的局部变量,所以不能在函数内部再定义一个同名的变量,并且在函数  内部可以直接使用参数的值调用函数时需要给参数进行赋值,否则会报错!如:3、带多个参数的函数定义方法:返回值  函数名 ( 参数类型 参数名1,参数类型 参数名

2015-10-18 22:24:08 1105

原创 一般的函数

函数的作用:  函数就相当于是一个打包盒,将一段代码打包在这个盒子里,当需要用这段代码时,只要把这个盒子拿过来就行了。  稍微专业点的说法:    将一段需要被重用的代码封装在函数中,什么时候想要执行这段代码,只需要调用这个函数就行了。函数的定义:返回值类型   函数名  (参数列表){ 函数体}例:void test(){ }i

2015-10-18 22:10:51 490

原创 for循环

1、for循环的语法格式        C语言中的for语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环 次数不确定而只给出循环结束条件的情况,它完全可以代替while语句。一般形式:for(表达式1;表达式2;表达式3) {循环体;}2、for循环执行过程:1.先执行表达式1,跳转到22.判断表达式2的结果是否为真,如果为真,跳转到3

2015-10-18 21:59:54 450

原创 循环的中断语句

break和continue语句都可以用在循环中,用来跳出循环(结束循环);break语句还可以用在 switch语句中,用来跳出switch语句。1、break语句通常用在循环语句和开关语句中。2、continue 语句(结束本次循环,继续下次循环) 用法continue语句的作用是跳过循环体中剩余的语句而继续下一次。continue语句只用在

2015-10-18 21:55:41 2495

原创 do-while循环

do-while的语法:             do{                 循环体;             }while(表达式);         注意:while的小括号后面一定要加分号         语义:            1.执行循环体,跳转到2            2.判断表达式的结果是否为真,如果为真,跳转到1,

2015-10-17 21:26:45 381

原创 交换两个变量的值 - 经典面试题

#include int main(int argc, const char * argv[]) {       int num1=10,num2=20;        printf("交换之前:num1=%d num2=%d\n",num1,num2);        // 方法一,使用中间变量    /*    int temp = num1; //

2015-10-17 21:24:15 565

原创 循环结构之while篇

1、while循环的格式:while ( 条件 ) {语句1; 语句2; ....} 2、while循环使用方法:1、while循环的特点:如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行2、while语句的语义是:如果条件成立,就会执行循环体中的语句(“循环体”就是while后面大括号{}中的内容)。 然 后再次判断条件,重复上述过程,直

2015-10-17 21:22:04 1587

原创 分支结构之switch篇

switch语句     switch语法:            switch(表达式){                  case 常量表达式1:                    语句块1                    break;                                 case 常量表达式2:       

2015-10-17 21:17:40 3941

空空如也

空空如也

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

TA关注的人

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