码迷,mamicode.com
首页 > 其他好文 > 详细

指针小白:修改*p与p会对相应的地址的变量产生什么影响?各个变量指针的长度为多少?

时间:2018-12-04 14:44:04      阅读:304      评论:0      收藏:0      [点我收藏+]

标签:问题   字节   jpg   打印   比较   指针   P20   一个   修改   

这两天敲代码碰到了一个这样的问题

代码如下:

技术分享图片技术分享图片

技术分享图片

技术分享图片

通过比较第一个程序与第二个程序差别在于,第一个修改的是*p=20,第二个修改的是p20,最后打印出来的num1的结果带*p的为20,带p的为10。

这是因为通过*p改变了&num1地址里的变量,而修改p则对地址里的变量的值没有影响

 

另外,变量指针长度的计算:

#include <stdio.h>
#include <stdlib.h>
int main(){
printf("%d\n", sizeof(float *));
return 0;
}

技术分享图片

在32为操作系统下,指针变量(char,float,double,int,long)的长度为都4个字节。

64位操作系统下,这些指针变量长度位8个字节。

 

指针小白:修改*p与p会对相应的地址的变量产生什么影响?各个变量指针的长度为多少?

标签:问题   字节   jpg   打印   比较   指针   P20   一个   修改   

原文地址:https://www.cnblogs.com/hetaoyuan/p/10063559.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!