指针_基本概念

来源:互联网 发布:软件项目关键技术指标 编辑:程序博客网 时间:2024/05/18 02:50

一段源代码,要说的在注释里写了

指针变量前面 的“*”表示 该变量的类型 为指针型变量。(引自P223,谭浩强《C程序设计》第四版)这句话让我明白了指针一直混淆的两种声明方式(详见代码注释)


#include <stdio.h>void main(){int a = 100;//指针变量前面 的“*”表示 该变量的类型 为指针型变量。【所以不应是int* p】(引自P223,谭浩强《C程序设计》第四版)int *p1;//定义性声明p1 = &a;printf("a=%d \n", *p1);int *p2 = &a;//引用性声明printf("a=%d \n", *p2);//以上,有了基本类型,才能由定义开辟出相应的空间(比如int型)int *p;//*p = 100;//指针变量中只能存放地址【其实这是个野指针】(引自P224)注释掉,不然会报错p = &a;*p = 1;//将整数赋给p当前所指的变量printf("a=%d \n", *p);printf("a的地址=%o \n", p);//以八进制输出地址printf("p的地址=%o \n", &p);//取地址运算符&。访问 p指针变量的地址printf("p所存的东西=%d \n", *p);//直接访问运算符*。访问 p指针变量 所存的地址 地址里所存的东西 并以%d形输出printf("p地址&p=%o里是a的地址&a=%o(p=%o)里存着值*p=%d\n",&p,&a,p,*p);int *temp;//*temp = *p;//注释防错/*野指针 对*temp赋值是向一个未知的存储单元赋值【temp没具体位置】,而这个未知单元可能存着一个有用的数据,从而可能破坏系统正常工作状况(P227)*/}


来看看我用visio画的解释图吧~

变量有:变量名变量地址变量存的同变量格式一样格式的内容


指针就是地址,最坚实基础实在的玩意,用指针(也就是地址)就可以非常自由的访问数据,比如我就能用**&p访问*p(虽然平时不可能这么用)。


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宝宝一岁了不爱吃饭怎么办 一岁多的宝宝不爱吃饭怎么办 小孩不吃饭还吐怎么办 一岁婴儿不吃饭怎么办 写字久了肩膀疼怎么办 6岁儿童不写字怎么办 孩子字写得丑怎么办 6岁儿童怕写字怎么办 高三学生上课困怎么办 高三学生压力大怎么办 数学会做的做错怎么办 脑子很笨反应慢怎么办 好学生考砸了怎么办 孩子写作业范愁怎么办 对粗心的孩子该怎么办 做计算题总出错怎么办 孩子字写得不好怎么办 3岁宝宝数学不好怎么办 十个月的宝宝拉肚子怎么办 刚生的宝宝拉肚子怎么办 我给兔子洗澡了怎么办 刚生的小狗脐带怎么办 宠物兔不想养了怎么办 兔子被打不动了怎么办 ai画板大小会变怎么办 和小孩生肖相冲怎么办 小孩和父母相冲怎么办 4岁宝宝抵抗力差怎么办 5岁儿童抵抗力差怎么办 格力小狗腿歪了怎么办 泰迪后腿骨折了怎么办 狗的后腿骨折了怎么办 跟丢了萨尔怎么办 去当兵欠的网贷怎么办 辅警体能过不了怎么办 蛙跳完后大腿疼怎么办 体能太差在部队怎么办 家里的钥匙丢了怎么办 lol美服更新慢怎么办 魔域密码忘了怎么办 魔域账号忘记了怎么办