C语言2
二、
若p的值是垃圾值则*p所代表的内存单元的控制权没有分配给该程序int *p;*p=10;//error
通过被调函数修改主调函数普通变量的值:
int a[3];a是数组名,是个指针常量,存放的是数组中第一个元素的地址。如果p是个指针变量则p[i]永远等价于*(p+i),数组中的元素是连续存放的;确定一个维数组需要知道第一个元素的地址和数组的长度;只有两个指针变量指向的是同一块区间的不同单元可以相减值为相隔的单元;一个指针变量所占的字节为4个字节
字符串是以‘0\’结束
三、
int len=4;int a[len]={1,2};//error
int len=3;int a[3]={2,4};//ok
动态内存是在堆分配的,静态内存是在栈分配的;struct name{};枚举就是把一个事物的所有可能值一一列举出来
原码:符号-绝对值码,最高位0表示正,1表示负。负整数转二进制:求正数,取反,末尾加1。二进制转十进制:首位是1,取反,末位加1。二进制全部为零的含义:数值为0、字符串结束标记符’\0’、空指针NULL.我们计算机规定了,以零为编号的存储单元的内容不可读不可写
四、
位运算符可以对数据的操作精确到每一位
&---按位与,1and1=1,other 0
|---按位或,0and0=0,other 1
~---按位取反
^---按位异或,相同为0,AandA=0,AandB=1
<<---按位左移,左移n位相当于乘以2的n次方,i<<3的执行速度比i*8快
>>---按位右移,右移n们相当于除以2的n次方,前提是数据不能丢失
五、
- 分配内存:操作系统把某一块内存空间的使用权分配给该程序。
- 释放内存:操作系统把分配给该程序的内存空间使用权收回,并不是把该内存的内容清零
变量不初始化,则变量通常是垃圾值
系统是如何执行int i=4;这个语句的
- 软件请求操作系统为i分配存储空间
- 操作系统会在内存中寻找一块空闲的区域,把该区域当作i来使用
- 软件会把i和这块区域关联起来,今后对字母i的操作就是对这块区域操作
- 把5存储到字母i所关联的内存区域中
- 内存区域就是内存的一块存储单元
C语言2的更多相关文章
- C语言 · 高精度加法
问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储.对于这种问题,一般使用数组来处理. 定义一个数组A ...
- Windows server 2012 添加中文语言包(英文转为中文)(离线)
Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...
- iOS开发系列--Swift语言
概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...
- C语言 · Anagrams问题
问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的.例如,"Unclear"和"Nuclear ...
- C语言 · 字符转对比
问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等.比如 Beijing 和 Hebei 2:两个字符串不仅长度相 ...
- JAVA语言中的修饰符
JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...
- Atitit 项目语言的选择 java c#.net php??
Atitit 项目语言的选择 java c#.net php?? 1.1. 编程语言与技术,应该使用开放式的目前流行的语言趋势1 1.2. 从个人职业生涯考虑,java优先1 1.3. 从项目实际来 ...
- 【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】
说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ————————— ...
- InstallShield 脚本语言学习笔记
InstallShield脚本语言是类似C语言,利用InstallShield的向导或模板都可以生成基本的脚本程序框架,可以在此基础上按自己的意愿进行修改和添加. 一.基本语法规则 ...
- 用C语言封装OC对象(耐心阅读,非常重要)
用C语言封装OC对象(耐心阅读,非常重要) 本文的主要内容来自这里 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象 ...
随机推荐
- nginx 几个参数
worker_processes : When set to 'auto', which is also the default behavior, Tengine will create the s ...
- Labview常用快捷键
对象调整和移动快捷键 Shift-click 选择多个对象,在现有选择的基础上添加对象 方向键 ...
- 独立版Jexus
一:下载资源包 把 jexus压缩包下载到linux临时文件夹中. cd /tmp wget linuxdot.net/down/jexus--x64.tar.gz 二,解压: tar -zxvf j ...
- frame,iframe,frameset用法和区别
■ 框架概念 : 所谓框架便是网页画面分成几个框窗,同时取得多个 URL.只需要 <FRAMESET> <FRAME> 即可,而所有框架标记需要放在一个总起的 html 档,这 ...
- Flink Program Guide (1) -- 基本API概念(Basic API Concepts -- For Java)
false false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-n ...
- 关于Thinkphp3.2版本的分页问题
最近公司官网改版,需要把旧的thinkphp版本换到现在最新的3.2去,因此,就开展了一系列的升级工作..在修改命名空间的同时,发现Page分页类能正常运行了,但是分页的链接却是错误的,例如在Admi ...
- SQL Server 向堆表中插入数据的过程
堆表中 IAM 记录着的数据页,表的各个数据页之间没有联系.也就是说一个页面它不会知道自己的前一页是谁,也不知道自己的后一页是谁. 插入数据时先找到IAM页,再由pfs(page free spac ...
- IIS应用程序池监控
最近发现公司运行的web网站应用程序池会突然停止,做的负载均衡(路由负载)又无法监测到IIS应用程序池的情况,就想着通过某一种监控方式监测IIS应用程序池的情况,如果处关闭状态则立刻重新启动.所说的I ...
- 蓝牙1.1、蓝牙1.2、蓝牙2.0(蓝牙2.0+EDR)区别
蓝牙1.2版本相对于1.1版本: 1.Adaptive Frequency Hopping(AFH):即所谓适应性跳频技术,主要的功能是用来减少蓝牙产品与其它无线通讯装置之间所产生的干扰问题 2.Ex ...
- libcurl编译
下载: git://github.com/bagder/curl.git openssl: openssl编译 for linux or mingw:./buildconf./configure ...