1.X86环境下为什么char*的指针变量和int*的指针变量都是4个字节?
- 指针变量为了存放地址,指针变量的大小取决于存放一个地址需要多大的空间。
- 32位机器上,有32根地址线,地址线上传输的电信号转换成数字信号后得到32个0\1组成的二进制序列就是地址
- 地址都是32个0\1组成的二进制序列的话,存放在这个地址需要的空间的大小是4个字节,所以指针变量的大小都是4个字节。(X86)
- 在X64的环境下,64个地址线,地址是64个0\1组成的二进制序列,需要8个字节存放地址,指针变量的大小是8个字节。
2.数组的下标变化时地址的变化是什么样的?
数组的下标从0增长时,地址是由低到高变化的
3.C语言中常见的错误分类有哪些?
- 连接错误:标识符号不存在,拼写错误,没有包含头文件
- 运行错误:千变万化,需借助调试,栈溢出属于运行错误
- 编译错误
4.二维数组补充知识点
二维数组传参时,传递的是数组首元素的地址,也就是第一行的地址。形参部分可以写成指向第一行的数组指针,也可以写成数组
一维数组 二维数组:
二维数组在内存中是连续存放的