扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、对于未初始化的变量,编译器会给它们一个默认值,这个默认值是未知的(也许是NULL,也许是其他的),任何使用未初始化的变量的行为都是有隐患的。
成都创新互联公司2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元龙潭做网站,已为上家服务,为龙潭各地企业和个人服务,联系电话:028-86922220
2、空指针是其值为NULL或0的指针,在下认为称之为“指向”NULL或“指向”0的指针都是错误说法,因为若有int a,*p=,则称指针p指向了a,并不能说指针p指向了&a,只能说p的值是&a,不然就大错特错了。
3、返回的指针赋值给某个变量,以后就可以通过这个指针变量来使用(存储或者是读取)所分配的这一块内存区域了。所以就不清楚问题中说的空指针申请了内存所表达的意思。如果还有问题,请继续追问。
4、空指针是就是一个被赋值为0的指针。对于空指针值,一般的文档中倾向于用 NULL 表示,而没有直接说成 0。
1、是你对字符数组的使用没有掌握。xiao.name[i]是一个char类型的数组元素,不能将一个字符串常量的首地址赋值给它。要将字符串保存到字符中,应该使用strcpy函数。
2、的小数部分是0.5=0.5*1,即2的负1次方,是可以精确保存的,像0.125=0.5*0+0.25*0+0.125*1或0.625=0.5*1+0.25*0+0.125*1。像0.3永远无法用2的负N次方的和的精确表示,所以只能取近似值。
3、C语言中变量不赋初值是不能”使用“的。这个”使用“是指读取变量的内容。因为,未赋初的变量中存储的数据是个随机值,其值不确定。随机值的产生原因:变量都是存储在内存中的。
4、因为 你的结构变量是局部量,不是全局量,没有初始化,也没有赋过值,所以它的值是随机的。如果你把变量声明挪到 main()以前,处理成全局量,则在运行开始时,会自动初始化,清零。
5、c编程语言中变量要先定义,定义好了才可以使用,为了简洁,定义的时候就可以同时赋予初始值。int i;i=0;上面2个就可以合成一条语句 int i=0;有些编译器也会自动默认初始值的。这只是一种习惯吧,知道了。适应就行了。
1、因为“能直接给指针指向的数据”赋值,而这里的p还没有指向,所以不能赋值,这种指针有个名字叫“悬浮指针”,是不能给它赋值的。这样才可以:int a,*p=*p=7;实际上就是使a等于了7。
2、变量的指针就是变量的地址。存放变量地址的变量是指针变量。即在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个变量的地址或称为某变量的指针。
3、要将指针指向的值赋值到变量上,需要将指针指向的值取出,然后执行赋值操作。对指针取值需要使用取值运算符*,这个符号和乘相同,但功能不同。用于取值时,*为单目运算,与后续的指针相结合,实现取指针指向的值的效果。
不仅是二级指针,就一级指针用上面那种语法复制应该都没问题。
你要明白,指针变量有两个相关的值,一个是指针变量本身的内存地址,一个是该内存地址存储的数据,是另一个变量的地址。如:int *p;//定义一个指针变量,既然是变量,它本身就有地址,还没赋值,它里面的数据不确定。
初始化后,只是指向某个内存而已,没有初始化的指针是指向一个未知的内存地址,这样的指针是很危险的。一般我们定义一个指针变量就会给它初始化为空,以免造成的危险无法补救。
指针变量的值是指针,指针就是地址;指针变量指向的变量就不是地址了,而是一个具体的变量。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Copyright © 2002-2023 www.kswjz.com 快上网建站品牌 QQ:244261566 版权所有 备案号:蜀ICP备19037934号
微信二维码
移动版官网