C语言的指针地址范围是4字节空间,即从地址0x00000000~地址0xFFFFFFFF。但其中有些字段是系统保护的或所使用的硬件平台根本就不存在,所以用户指针并不能完全使用这个空间。不过用户不必担心,只要按规范使用指针,系统都会自动正确安排。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。
地址能是负的吗? 指针的取值范围是unsigned int的范围。
16位:0~65535;
32位:0~4294967295
那个…… 实际上并不是所有内存都能访问到的。
见过vc中报错“access violation”吧。
指针只是一个标记,他只是指向一个地址
而这个地址的内容可以是任何长度
内容也可以是任何形式
假设是整形,那么取决于其长度及类型
比如某个指针指向0x00fd1a3c这个地址,在这个地址的内容可以是1个字节长,也可以是2字节,4字节,8字节,16字节等
首先其长度可以不同,其次其内容也可以不同
比如可以是字符串 abcdef\0
或 0x6162636465666700
指针这个概念相对较难理解
你可以认为是一个书签,你要看书,首先找到书签以后翻到那个页码,然后看那一页上写的内容