C语言指针变量为什么要赋初值?

如题所述

1、给指针变量赋初值在语法上是没有错误的,编译执行也可以通过,但是一旦代码量增多后,很容易造成指针的错用,为了防止这一问题最好将指针变量定义的时候就置成NULL,这样做是为了代码安全着想。
2、指针定义后就会随机指向一个位置的,编译的时候也不会提示错误,程序短很容易找出来,长了多了就难找了,所以这是一个好习惯吧。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-01-11
其他回答(4)错误:40411级2012-02-10使用指针必须要初始化,要有一个明确的指向是有目的性的。之后再移动更改才不会造成混乱热心问友2012-02-10不给指针变量赋初值在语法上是没有错误的,编译执行也可以通过,但是一旦代码量增多后,很容易造成指针的错用,为了防止这一问题最好将指针变量定义的时候就置成NULL,这样做是为了代码安全着想。
指针定义后就会随机指向一个位置的,编译的时候也不会提示错误,程序短很容易找出来,长了多了就难找了,所以这是一个好习惯吧。本回答被提问者采纳

C语言指针变量为什么要赋初值?
1、给指针变量赋初值在语法上是没有错误的,编译执行也可以通过,但是一旦代码量增多后,很容易造成指针的错用,为了防止这一问题最好将指针变量定义的时候就置成NULL,这样做是为了代码安全着想。2、指针定义后就会随机指向一个位置的,编译的时候也不会提示错误,程序短很容易找出来,长了多了就难找了...

C语言里赋初值是为了什么??
防止指针乱用啊,你没赋初值,系统会随机赋值,如果你没赋值,后面用他就会发生不可预料的事,你自己好好想想就通了,

c语言中定义指针变量时,赋值和赋初值有什么区别?
赋初值,也就是初始化,只能在定义的时候操作,形式为 type var_name = init_value;其中=init_value就是赋初值了。赋值,是在定义后,改变变量的值,形式为 var_name = value;二者的效果是类似的,都是把变量值改变。但在C语言中,编译出的代码有所区别。其中赋初值的效率会更高。

C语言中的指针为什么会改变变量的值?
pa=&a;句是将指针*pa指向变量a。pa存放的是a的地址,*pa其实就是a,可以理解为把a换了一个名字表示。*pa=20就是对a进行赋值操作,等于a=20;a的值当然改变了。看看指针的知识吧!

C语言问题,未给指针变量指定初始值真的有危险吗
初学者最好养成给指针变量赋初值的习惯 至于原因嘛,就是上述文段:如果你不给它赋初值开始他就会乱指,当你对它操作时极有可能改动到他指向的内容,要是他指向已经被使用的地址,悲剧很可能就发生了;当然了,如果你每次在使用到指针变量前都注意到它的指向,是可以避免出错的,但很多时候难免会大意...

关于c语言指针的声明与赋值
在C语言中,指针是具有指向其他变量地址的能力的特殊类型变量。指针的声明与赋值是程序设计中常见且至关重要的操作。LZ提到的两种写法分别展示了指针声明与赋值的不同方式,它们在表面上看似等价,但实际用途与意义存在细微差异。首先,让我们回顾指针的声明与赋值的基本概念。声明一个指针变量,即是定义一个...

c语言指针的赋值问题
在C语言中,指针是一个变量,其特殊之处在于它存储的是其他变量的地址,而不是值本身。指针使我们能够间接地访问和修改变量的值。指针的赋值过程 当我们为指针变量赋值时,实际上是将其指向一个变量的内存地址赋给它。这个过程分为两步:首先确定变量的地址,然后将这个地址赋给指针变量。例如,如果我们...

c语言编程中的变量都需要附初始值吗?
栈里面的数据是随机的,如果你不初始化的话,那有可能就是一个意想不到的值。堆一般就是通过malloc申请出来的,一般堆变量都是以指针形式定义,然后指向malloc申请的空间。bss段和data段一般是存放全局变量。个人建议编程就是养成良好习惯吧,给变量附上初值,尤其是在函数里面的局部变量。

在C语言中能否直接给指针指向的数据赋值?为什么
可以直接给指针指向的数据赋值。因为*p操作是这样一种运算,返回p的值作为地址的那个空间的取值。存放地址的变量称为指针变量。指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址。在使用一个指针时,一个程序既可以直接使用这个指针所储存的内存地址...

C语言指针的赋值问题
p为指针,地址是未知的,如果直接赋值 p=a;这样编译可以通过,但是会产生警告,p的地址是随机分配的,这样对未知的地址赋值很危险,可能会覆盖掉某些重要数据,所以避免这种危险,在定义指针时注意初始化,也就是赋值。可以int *p=&a;或者int *p;p=&a;然后再对p进行操作 有错。注意大小写,还有 i...

相似回答