C编程经验总结4
{}体里的语句不管在一行还是在多行,之间都是要有;
for与for之间可以是独立的,也可以是相互嵌套的
For( ; i<5; )=for( ;i<=4; )
一般都是在循环里面进行判断,比如for里的if
For() if()等后面如果是一句,可以不加{} 如果是多个句,则要加,因为不加时候,默认只执行一句
在循环遍历中,只需要结果,不需要过程时,可以对结果进行高一级的分类,然后分支输出
每个代码段是干嘛的要养成注释的好习惯
做比较找最大最小的时候要注意用中间介
自己写个排序代码
2维数组的初始化有两种,2维数组对于2维画面的显示是很有效
1维数组一般用于排序 字符串默认以\n结束 数组是存储数据一个很重要的工具
字符串用“ ” 字符串其实与字符码有关
********************************************************************************************
指针变量 指针可以返回多个值
变量的名字 变量的地址 变量的地址的地址(2层了)
指针变量的本质就是:变量的地址(通过变量的地址,可以访问变量的内存的值) adder=&key
指针是对变量访问的另外一个方法,通过访问变量的指针来访问变量的值
指针本身自己是变量,也有自己的地址,于是衍生出指针的指针…… *****a
就是利用指针间接的访问另外一个变量 指针有点像寄存器 一个地址肯定对应一个变量
Int *p; (p为指针变量,指向的值是int型的)
*********************终于发现我的键盘不能长时间重按***********************
指针变量的初值 p=&i;(常用)
P=null;
P=(int *) 1732;(不提倡)
注意:指针的类型:指的是所指向变量的类型,不是地址值的类型
*p(用于访问指向的变量的值) p是指针,但是*p是变量的值
指针的值 变量的地址 变量的值
*p++=*(p++)
使用指针可以操作被指变量的值,一旦被指,则就是被掌控了,类似于病毒
函数调用的先后顺序是在主函数里面来顺序控制
指针变量的函数里面一定有对于指针的赋值,然后在调用的时候是用&来调用
在形参里面,是*P,这时候已经是变量的值了
形参是函数定义的时候的 引用调用是更为灵活
当参数返回值大于一个的时候,就可以用指针,这就是指针的妙处,通过调用指针变量可以来改变主函数中的变量值。
关于return返回值一般是一个,所以之前的方法不行了,这时候新的技术,指针就出现了。
数组感觉是动态的指针,可以通过指针给数组赋值 其实c中,本质的运行程序都是通过指针进行的
数组作为函数的参数的时候,其实是基地址作为变量
数组作为函数的参数,函数里面一般都是对与数组进行处理的
数组和指针可以完成同样的工作,一般用指针吧
注意:循环里面肯定是嵌套着判断,但是那和分支的判断是不同对的性质
字符串一般是以数组的形式出现,一般与字符码有关 gets()用于接收字符串
字符指针 字符串常量本质是指向字符串首地址的指针
数组的一切可以用指针来做 %s是输出字符串
Printf() 在字符串方面,函数的参数是首地址(其实这时候更像scanf())
这是在字符串和其他变量之间的区别
注意:字符串指针和其他指针是不同的
新的指针的初始化: char *p=”abcde”; 指向一个字符串变量
用指针比用数组少占内存 指针字符串比数组字符串更加方便
可以把一个数组给一个指针变量,因为数组的本质其实就是该数组的首地址
Char *s,str[];
S=str;
Scanf(“%s”,s);
习惯与定义指针的初值都为NULL
处理字符串时候要有string.h Ctype.h stdlib.h
字符串的输入都是以回车或是空格为判断结束的 在存储的时候都是附加\0
Puts() 在输出时,遇到\0则自动转化的\n
Scanf()遇到空格或回车符结束输入 gets()是遇到回车符结束
Char
*strcpy(cahr *a,char *b) ——把b复制到a,覆盖a.一般用于字符串之间的赋值
Strlen(); 长度不包括附加的 字符串相关的函数里都是以数组进行存储的
一个字符串名,其实指的是字符串的初始地址
Strcmp(a,b) >返回正数 <返回负数 =返回0 字符串的比较其实是比较当不同位的码值的大小
Negative(消极,负的)
指针就是用来实现内存的动态分配
if里的Exit(); 类似于函数里面的return();
Pree(); 动态存储释放函数,参数为内存区域的指针
定义指针的时候 int *是一个整体
内存的动态分配,用完之后要释放
Void *malloc(长度) 它返回一个指针
If (p=(int *)malloc(n*sizeof(int)))==null) 意思就是申请失败
计数的动态存储分配函数calloc()
Void *calloc(n,每个段的长度值) 它会进行内存的初始化
Realloc(void *a,长度值) ——分配调整函数(调整已经分配的内存的大小)
结构变量 structure
C编程经验总结4的更多相关文章
- iOS开发编码建议与编程经验
作者:乞力马扎罗的雪(GitHub) 原文 在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码.那么,有一个良好的编码习惯将会非常重要.下面将会罗列使用Objective-C来开发iOS的 ...
- C++的XML编程经验――LIBXML2库使用指南[转]
C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...
- Python/Numpy大数据编程经验
Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点. ...
- 编程经验点滴----在 Oracle 数据库中保存空字符串
写程序这么多年,近几天才发现,向 Oracle 数据库表中,保存空字符串 '' ,结果成了 null. 由于数据库数值 null 的比较.判断,与空字符串 '' 存在差异.一不留神,代码中留下了 bu ...
- C++的XML编程经验――LIBXML2库使用指南
C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...
- Kittenblock画笔基础,移动留下痕迹的蝴蝶,图形化编程经验分享
Kittenblock画笔基础,移动留下痕迹的蝴蝶,图形化编程经验分享 跟很多学生聊过,很多学生不是不努力,只是找不到感觉.有一点不可否认,同样在一个教室上课,同样是一个老师讲授,学习效果迥然不同.关 ...
- Linux-shell编程经验记录
Linux-shell编程经验总结 1.接收用户输入 #读取用户输入并且将输入保存到input变量中 read -p "请输入:" input #也可以先输出信息再进行读取,这里的 ...
- 写给已有编程经验的 Python 初学者的总结【转】
当我开始学习Python的时候,有些事我希望我一早就知道.我花费了很多时间才学会这些东西.我想要把这些重点都编纂到一篇文章当中.这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要 ...
- 写给已有编程经验的 Python 初学者的总结
当我开始学习Python的时候,有些事我希望我一早就知道.我花费了很多时间才学会这些东西.我想要把这些重点都编纂到一篇文章当中.这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要 ...
- <三>年编程经验、何去何从?
SharePoint开发经验3年+,基本的SharePoint模板开发都胜任: Asp.net基础一般,Html.Css.JavaScript.JQuery.Ajax.Sql.服务器等也都有所涉猎,对 ...
随机推荐
- STM32中管脚利用
如果利用4线SWD则剩余的调试引脚可以作为IO使用: void JTAG_Set(unsigned char Mode){ u32 temp; temp=Mode; temp<<=25; ...
- lscons 命令,设置当前控制台设备的名称写至标准输出
用途 将当前控制台设备的名称写至标准输出. 语法 lscons [ -s ] [ -a | -O ] lscons -b [ -s ] [ -a | -O ] lscons -d [ -s ] 描述 ...
- 使用codedom自动生成代码
刚刚接触自动代码生成,便小试牛刀,解决了项目中的一些问题. 问题:我们的项目分成很多层次,当增加一个方法的时候,会显得异常繁琐,但每个层次之间的调用大同小异,所以尝试使用代码生成.现在假设有Engin ...
- JavaScript Date学习实例:获取3分钟前的时间“hhmmss”格式
上一篇博客分享了Date对象的理论知识,今天正好看到一段相关的代码,可以继续深化,通过实例加强复习Date 题目:获取3分钟前的时间,并且显示格式是hhmmss 以下是看到的代码 var time=n ...
- DEDE用{dede:sql}标签取出当前文档的附加表中的内容
最近在用DEDE做项目,遇到一个需求是要在article_image.htm模板中直接取出附加表addonimages中的某一记录的imgurls字段的内容.而这条记录是不断变化的,比如我点击了< ...
- Java入门之IDE集成开发环境安装及配置
常用的开发工具 一.Eclipse Eclipse 是一个开放源代码的.基于 Java 的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.幸运的是,Eclipse ...
- 如何绘制ER图
先画出多个实体(用长方形表示),然后是联系类型(菱形),和属性(椭圆).
- ab (ApacheBench)命令
ab (ApacheBench)命令 参数 -n 在测试会话中所执行的请求个数.默认时,仅执行一个请求 -c 一次产生的请求个数.默认是一次一个 -t 测试所进行的最大秒数 -k 启用HTTP Kee ...
- sharepoint2007就地升级2010系列(三)升级系统
OK,上两篇我们完成sharepoint2007的预览,以及升级前的补丁准备.今天我们来正式进行升级windows server系统以及SQL数据库 升级之前首先确定 search服务停止而且被禁用, ...
- Row_number() OVER(PARTITION BY xxx ORDER BY XXX)分组排序
--//创建一个信息表 ,) ,),st_name ),class ),score ,)) --//插入测试数据============start=================== insert ...