黑马程序员--IOS入学学习--3-函数及内存剖析
来源:互联网 发布:google翻译 for mac 编辑:程序博客网 时间:2024/04/27 16:06
本篇博客学习C语言的第三篇记录博客,主要包括:函数、内存剖析,主要记录内容如下(只记录新学习到的知识):
一、函数
1、函数体内部不能定义与函数形参一样的变量,编译的时候会报错(重复定义);
2、如果是基本数据类型作为函数形参,形参实参之间纯粹是值传递,修改函数内部形参的值并不会影响函数外实参的值;
3、如果不明确声明函数的返回值类型,默认为int类型;就算明确了返回值类型,也可以不返回值;
4、C语言中,默认情况下不允许有函数的名称一样,并且函数不能够被嵌套定义;
5、函数不能够被重复定义,但是可以被重复声明;如果有函数的声明没有函数的定义,编译可以通过(因为编译的时候只检查代码的语法是否正确),但是链接的时候会报错(链接的时候会检查函数是否被定义);
6、include语句:作用是拷贝引用文件的所有内容到#include所在的位置,自定义文件用"",系统自带文件用<>;
二、内存剖析:
1、十进制、二进制、八进制、十六进制的赋值方式及输出方式请参照下述代码及表格:
#include <stdio.h>int main(){ //默认为十进制 int number1 = 12; //0b开头代表为二进制 int number2 = 0b1100; //0开头为八进制 int number3 = 014; //0x或者0X开头为十六进制 int number4 = 0xc; //%d或者i%会将后面变量的值转换为十进制输出出来、%o代表八进制、%x代表十六进制 printf("%d\n%d\n%d\n%d\n", number1, number2, number3, number4); return 0;}
2、内存是以字节为单位存在的,内存字节的地址是16进制;
3、 四个修饰变量类型的类型说明符:
short(一般只修饰int):会将int的字节缩短为2位,printf输出时依然用%d作为占位符,short int 可以用short代替;
long(一般只修饰int):将int的字节扩充为8位,printf输出时用%ld作为占位符,long int也可以用long代替 ,为了区别long与普通int,在赋值时通常会在值的最后加l作为区分;
signed(一般只修饰int):代表有符号整数(正数、负数、0),与int一样,首位默认为符号位,最大值为2的31次方-1;
unsigned(一般只修饰int):代表无符号整数(正数、0),即在内存中int的存储没有符号位,最大值为2的32次方-1;
4、按位异或 ^ 的规律:
1.>相同数值进行异或,结果为0,例如9^9=0;
2.>多个整数进行异或的结果与顺序无关,例如:9^5^6=9^6^5;
3.>任何数值与0异或,结果还是原数值;
4.>a^b^a=b;
5、重点课后习题:
/* 编写一个函数,用来输出整数在内存中的二进制形式 */#include <stdio.h>int main(){ void printBrinary(int number); int a; scanf("%d", &a); printBrinary(a); return 0;}void printBrinary(int number){ for (int i = sizeof(number)*8 - 1; i >= 0; i--) { if(i % 4 != 0 || i == 31) { printf("%d", number >> i & 1); } else { printf("%d ", number >> i & 1); } }}
- 黑马程序员--IOS入学学习--3-函数及内存剖析
- 黑马程序员--IOS入学学习--9-OC中的内存管理
- 黑马程序员-IOS-C语言基础-函数及内存剖析
- 黑马程序员--IOS入学学习--4-数组、字符串及指针
- 黑马程序员--IOS入学学习--5-其他数据类型及递归
- 黑马程序员--IOS入学学习--1-C语言基础及UNIX基本指令
- 黑马程序员--IOS入学学习--2-基本运算及流程控制(C语言)
- 黑马程序员--IOS入学学习--6-OC基础知识
- 黑马程序员--IOS入学学习--8-OC核心语法
- 黑马程序员--IOS入学学习--10-Foundation框架1
- 黑马程序员--IOS入学学习--11-Foundation框架2
- 黑马程序员IOS基础---C语言学习之变量与内存及重要的scanf函数
- 黑马程序员--IOS入学学习--7-面向对象的三大特性
- 黑马程序员_第三天视频学习 函数和内存剖析
- 黑马程序员-入学经典
- 黑马程序员 -- IOS C语言 内存剖析1
- 黑马程序员 -- IOS C语言 内存剖析2
- 黑马程序员——入学Blog06----内存管理
- Coping with the TCP TIME-WAIT state on busy Linux servers
- 【龙书笔记】语法分析涉及的基础概念简介
- nginx使用
- 写给计算机的大学生!
- 在Windows 8.1上使用Fiddler重定向http请求进行前端调试
- 黑马程序员--IOS入学学习--3-函数及内存剖析
- UNP服务器设计范式总结
- Julia: find 和其它
- 胡春华赴省科学院、省工业技术研究院开展专题调研
- python学习:urllib库学习:制作简易爬虫下载图片
- 卡特兰数
- lucas定理
- LeetCode题解:Same Tree
- 博弈总结