Advertisement

深入分析C语言中指针的输入输出操作

阅读量:

关于C语言的指针(2):

指针输出

函数 printf 可以用格式说明符 %p 表示指向输出内容;与之对应的格式说明符 %p 相匹配的是用于表示地址的表达式,在以下情况中可以看到

复制代码
    int k,*pk=&k,a[10];
    printf("%p,%p,%p\n",pk,"abc",a);

在代码段中,在pk这个指针变量中(即pk是指针变量),其数值代表的是内存中的一个物理地址;对于字符串"abc"来说,在内存中的实际存储情况是一个长度为3的数据块(即三个连续存放字符' a' 'b' 'c'),其实在内存中的具体存放位置就是这个数据块的实际起始位置;同样地,在数组名a所指向的位置上存放着一组内存起始位置信息(即数组名a所指向的位置实际上是一个内存起始位置),其中%p的要求是16位禁止输出格式的信息字段

其他

地址是特殊的无符号数

内存地址被表示为由32个二进制位组成的无符号数值,并且允许执行特定算术操作在编程语言中处理指针时必须遵循严格的数据类型规则。

指针值

在计算机内存管理中,
每个指针变量都标识指向特定内存区域的一个起始位置。
然而,
这些起始位置并非随机选择,
而是受到系统资源和数据类型的严格限制。
具体来说,
当处理一个指向整数类型的指针变量时,
其内存位置会被指定给一个能够容纳四个连

全部评论 (0)

还没有任何评论哟~