指针初始化与指针赋值有什么区别
发布网友
发布时间:2022-05-04 13:58
我来回答
共1个回答
热心网友
时间:2022-06-22 17:36
----------------------------------------------int*p=123,是给p赋值为123,p是一个指针,123编辑器默认为constint,所以会报错!int*p=0,将指针初始值设为0,0是一个特殊的常量,编辑器根据不同的情况进行处理,这里将它视为NULL指针。int*p定义一个指向整形的指针,但是没有给它赋值,p现在是一个随机值!*p=123,给p指向的内存赋值为123,由于p没有赋初值,所以p指向的内存位置是随机的,虽然编辑的时候没有错,但很可能发生运得时的错误,因为程序将修改未知区域的内存!应该这样:intk;int*p=&k;*p=123;//Sameask=123;int*p=newint[1];*p=123;----------------------------------int*p=newint(123);//开空间并初始化其值为123。deletep;int*p=newint[123];//开数组,不能初始化,规则这么说的。delete[]
指针初始化与指针赋值有什么区别
int*p=0,将指针初始值设为0,0是一个特殊的常量,编辑器根据不同的情况进行处理,这里将它视为NULL指针。int*p定义一个指向整形的指针,但是没有给它赋值,p现在是一个随机值!*p=123,给p指向的内存赋值为123,由于p没有赋初值,所以p指向的内存位置是随机的,虽然编辑的时候没有错,但很可能发生...
初始化和赋值有什么区别
说明:赋值操作是在两个已经存在的对象间进行的,而初始化是要创建一个新的对象,并且其初值来源于另一个已存在的对象。编译器会区别这两种情况,赋值的时候调用重载的赋值运算符,初始化的时候调用拷贝构造函数。如果类中没有拷贝构造函数,则编译器会提供一个默认的。这个默认的拷贝构造函数只是简单地复...
C语言 赋值和初始化的区别
初始化是程序在运行前由系统将变量值进行赋值,而赋值是在程序开始运行之后完成,赋值动作属于程序完成 int a;这个属于变量定义且不做初始化 int a=1;这个属于系统初始化,系统首先申请变量a,并且将这个单元放置初始值1 int a; a=b;属于程序中的赋值,程序运行时取变量b中的值放入a,并没有初始化...
关于指针赋值和const的疑惑
声明rates是double数组,有5个元素。并 把赋值号后面的一串数据赋给了rates数组, 这个“赋值”行动 就是初始化。const double*pc=rates;声明 pc 是 const double 型指针。并 把 赋值号后面的 rates数组 的首地址 赋给了 指针 pc。 这个“赋值”行动 就是初始化。=== rates[] 数组 不是 ...
c语言中定义指针变量时,赋值和赋初值有什么区别?
赋初值,也就是初始化,只能在定义的时候操作,形式为 type var_name = init_value;其中=init_value就是赋初值了。赋值,是在定义后,改变变量的值,形式为 var_name = value;二者的效果是类似的,都是把变量值改变。但在C语言中,编译出的代码有所区别。其中赋初值的效率会更高。
指针的定义与赋值形式?
int *p 一般带有 * 表示指针的定义 赋值: int a = 3; int *p = &a; (相当于 int *p; p = &a) 故 *p = 3 (可理解为 *p = *(&a) = 3);int *a = 3; int *p = a ; (相当于int *p ; p = a) 则 *p = 3 ...
C语言:指针的 int *p=&a; 这句到底对不对?初始化时能这样,为什么赋值时...
int *p=&a;这句话是对的,他的意义是声明整形指针p,并且将p初始化。等同于:int *p; p = &a;这两步操作,而赋值等同于初始化,也就需要p = &a;
一个指针,如果一开始没有给它进行初始化,直接给它赋值是错的吗?那...
一个指针没有初始化,而且也没有被赋值(注意,赋值是指p=a,p是个指针,a是个变量)时,是不能取值的(*p),因为此时指针没有指向任何内存。一个指针数组,在定义时就给他分配了内存,当然可以直接给指针赋值了,但是取值(*p[5]),仍然是不行的。。。总而言之,指针只有指向了实际的内存才能被取...
C语言指针变量的赋值和做函数的参数
1、指针变量的赋值,分为定义时赋值(初始化)和单独赋值,如:int x ;int * px=&x ; //定义时赋值,也称初始化,注意这里的*是跟随int的,即变量px是int *类型变量! 实际上的赋值语句是px=&x ;int * py ;py=&x ; //单独赋值,将py指向x*py=10 ; //这里的*,是引用指针中的...
c++中指针先定义再赋值的问题
第一种写法等于是初始化,第二种等于是有个赋值语句,而函数体外,是不能有执行语句的。执行语句要在函数体内。