{}体里的语句不管在一行还是在多行,之间都是要有;

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的更多相关文章

  1. iOS开发编码建议与编程经验

    作者:乞力马扎罗的雪(GitHub) 原文 在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码.那么,有一个良好的编码习惯将会非常重要.下面将会罗列使用Objective-C来开发iOS的 ...

  2. C++的XML编程经验――LIBXML2库使用指南[转]

    C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...

  3. Python/Numpy大数据编程经验

    Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点.   ...

  4. 编程经验点滴----在 Oracle 数据库中保存空字符串

    写程序这么多年,近几天才发现,向 Oracle 数据库表中,保存空字符串 '' ,结果成了 null. 由于数据库数值 null 的比较.判断,与空字符串 '' 存在差异.一不留神,代码中留下了 bu ...

  5. C++的XML编程经验――LIBXML2库使用指南

    C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...

  6. Kittenblock画笔基础,移动留下痕迹的蝴蝶,图形化编程经验分享

    Kittenblock画笔基础,移动留下痕迹的蝴蝶,图形化编程经验分享 跟很多学生聊过,很多学生不是不努力,只是找不到感觉.有一点不可否认,同样在一个教室上课,同样是一个老师讲授,学习效果迥然不同.关 ...

  7. Linux-shell编程经验记录

    Linux-shell编程经验总结 1.接收用户输入 #读取用户输入并且将输入保存到input变量中 read -p "请输入:" input #也可以先输出信息再进行读取,这里的 ...

  8. 写给已有编程经验的 Python 初学者的总结【转】

    当我开始学习Python的时候,有些事我希望我一早就知道.我花费了很多时间才学会这些东西.我想要把这些重点都编纂到一篇文章当中.这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要 ...

  9. 写给已有编程经验的 Python 初学者的总结

    当我开始学习Python的时候,有些事我希望我一早就知道.我花费了很多时间才学会这些东西.我想要把这些重点都编纂到一篇文章当中.这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要 ...

  10. <三>年编程经验、何去何从?

    SharePoint开发经验3年+,基本的SharePoint模板开发都胜任: Asp.net基础一般,Html.Css.JavaScript.JQuery.Ajax.Sql.服务器等也都有所涉猎,对 ...

随机推荐

  1. 打开fiddler 电脑无法上网问题

    Fiddler下Firefox提示“您的连接并不安全”的解决办法 一.版本信息 Firefox 最新版本V46.0.1 Fiddler 最新版本V4.6.2.3 二.错误信息 开启fiddlers的h ...

  2. pat1089. Insert or Merge (25)

    1089. Insert or Merge (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Accor ...

  3. compile with -fPIC

    在新公司工作第四天,依然要编译FFmpeg,不同的是难度大了,以前遇到什么参数编译不过的,就去掉,因为不是专业做视频的,但是新公司绕不过了. 编译FFmpeg动态库的时候发现链接某些静态库的时候会报错 ...

  4. 存储过程 返回值 procedure return values

    存储过程有三种返回: 1. 用return返回int型数据 2. 用返回参数返回结果,可以返回各种数据类型(通过游标来循环查询结果每一行) 3. 直接在存储过程中用select返回结果集,可以是任意的 ...

  5. springboot整合mybatis+oracle

    第一步 认识springboot :springboot是为了解决配置文件多,各个组件不统一的问题,它省去了很多配置文件,同时实现了spring产品的整合. 创建springboot项目:通过选择sp ...

  6. Hibernate课程 初探多对多映射2-1 创建数据库表

    --创建表 -- 创建项目表 create table project(  proid int(10) not null comment '项目Id',  proname varchar(30) co ...

  7. intellijidea课程 intellijidea神器使用技巧 3-2 livetemplate

    创建livetemplate分组: ctrl shift a ==> live templates ==> + ==> templates group 创建livetemplate模 ...

  8. idea 插件描述(转)

    提供些idea插件的干货.干货.干货! 如何安装idea plug,方法如下图:如果安装不了考虑下是否代理问题: 1,maven helper 以前查看maven依赖都比较麻烦,需要用命令maven ...

  9. 关于在Share point 2010 中保存SPFieldLookupValue类型到一个List中的问题

    在share point 中,有时字段的类型是lookup的,那么将会从另外的一个list中进行相应的连接,这是如果保存string等类型,将会报一个错, Invalid data has been ...

  10. 建立本地yum源

    使用环境 服务器处于内网,需要更新 网络资源紧张,节约带宽 建立yum目录 mkdir -p /opt/opmgmt/yum rsync服务器列表 centos mirrors epel mirror ...