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这些对象 ...
随机推荐
- Ubuntu Android Studio 无法通过起动器开启
问题: 1.可以通过终端开启 2.通过Android-Studio建立的Application无法启动, 提示 No JDK found. Please validate either STUDIO_ ...
- linux系统find命令使用
find命令简介 1.find的作用 find是个使用频率比较高的命令.常常用它在系统特定目录下,查找具有某种特征的文件. 2. find命令的格式 find [-path……]-option ...
- cookie程序设计举例
编写Cookie应用程序,一般流程是:首先尝试获取某个Cookie变量,如果有,则表明是老客户,读取其cookie信息,为其提供服务. 如果没有,则表明是第一次来访的客户,通过表单提交获取其身份信息, ...
- mongodb or操作与连接池
mongodb # 类似于sql中的in或者or操作 mulites field query: db.cool.find({$or:[{field1:'val'},{'field2':'val'}-] ...
- 【Chromium中文文档】跨平台开发的约定与模式
跨平台开发的约定与模式 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//General_Architecture/C ...
- linux修改文本模式下的分辨率(CentOS6.4)
root登录 vi /boot/grub/menu.lst 看到如下界面: 红框全出位置为分辨率设置,设置参数如下: 保存 shutdown -r now
- sql server 2012 镜像和出现的问题
镜像安装的环境: 主机:win server 2012 , sql server 2012 ,ip:192.168.1.189 PC账户:administrator 备机:win server 20 ...
- 十度好友问题(DFS经典应用)
问题: 在社交网络里(比如 LinkedIn),如果A和B是好友,B和C是好友,但是A和C不是好友,那么C是A的二度好友,给定一个社交网络的关系图,如何找到某一个人的所有十度好友.
- COCOS2d-x简易安装步骤
准备工作:1. 下载 cocos2d-x 下载地址:http://cdn.cocos2d-x.org/cocos2d-x-2.2.zip2. 下载 python 2.7.3 下载地址:h ...
- [虚拟化/云][全栈demo] 为qemu增加一个PCI的watchdog外设(四)
通过前面的操作,我们已经可以创建一个带有我们自己的PCI的watchdog外设qemu 虚拟机了. 目的: 1. 了解我们的外设情况. 2. 为在guest中开发我们自己的linux PCI驱动程序做 ...