www问答网
所有问题
当前搜索:
指针的初始化和赋值
c语言二级
指针初始化
为空后
赋值
问题
答:
保存的地址是0;由于保护模式的缘故,(可自行查阅资料),ring3无法对保护段的内存进行读写,所以会出现运行时崩溃。而第一个没报错的原因是因为一级
指针
虽然
初始化
保存了0的地址,但是代码在之后的操对一级指针进行重新
赋值
让其指向了别的内存段。所以没报错。
关于
指针赋值和
const的疑惑
答:
例如:double rates[5]={88.99, 100.12, 59.45, 183.11, 340.5};声明rates是double数组,有5个元素。并 把
赋值
号后面的一串数据赋给了rates数组, 这个“赋值”行动 就是
初始化
。const double*pc=rates;声明 pc 是 const double 型
指针
。并 把 赋值号后面的 rates数组 的首地址 赋给了...
C语言中
指针
是否能够直接
赋值
,为什么?
答:
l','l','o','\0'},在其他任何时候,它都表示一个字符串常量。而数组名也是一个
指针
常量,不能对常量
赋值
。所以 char a[] = "hello"; //正确,hello",并非一个字符串常量,而是相当于一个
初始化
列表 而 char a[6];a = "hello"; //错误,a为指针常量,不能修改,当然也不能赋值 ...
可以用来
初始化指针的
3种值为( )、( )、和( )。
答:
可以用来
初始化指针的
3种值为(0 )、( NULL)、和(地址 )。对指针进行初始化或
赋值
只能使用一下四种类型的值:(1)0值常量表达式,例如:在编译时可获得0值的整型const 对象或字面值常量0.(2)类型匹配的对象的地址。(3)另一对象之后的下一地址。(4)同类型的另一个有效指针。
指针
初始化
的初始化
答:
int i=10;int * a = &i;int * a = NULL;(编译没问题,运行错误,指针所指向地址必须为合法有效的内存地址)a = (int *)malloc(10*sizeof(int));a[0] = 1;int * a =10;(错误写法,给
指针赋值
必须为地址,*p为所指向变量的值)int *a=&i;int * c = a + 15;(a代表数组...
指向指针的
指针怎么初始化
?int **p
答:
任何
指针的初始化
操作都只有2种方法,指向指针的指针也一样的。一种是 整形字面常量 NULL 或者 0 , 比如 int **p = 0;还有就是用一个同类型的地址值对它初始化 int *p = NULL, **q = &p;强制转换是属于后面一种情况, 比如 double *q = 0;int **pv = (int**)q;...
C语言
指针的初始化
!!!
答:
例如 int *pt 然后 *pt=5 这样说是不能对未
初始化
的指针取值!!还有 如果有指针 char* i; 不初始化直接用 *i="Hello"; 可以吗?int *pt;/* pt是一个指向整数的指针,未初始化时,存储该
指针的
地址&pt是随机的,可以用printf("%p",pt)来验证。 就是说,该指针可能指向任意地方...
C语言,关于
指针的初始化
,这两个有什么区别哦
答:
p=&a; 表示将a的地址
赋值
给*p这个值,在这里说明,p是
指针的
指针,*用来取值,*p之后取到的还是一个地址;例如:int **p = NULL;p=&a;表示将a的地址赋值给p这个值,p是指针。例如:int *p = NULL;
指针
数组问题之
初始化
答:
系统不会自动为他
赋值
的,,但是 可以是 你定义一个数组长度为5的数组 但是只对它前几项赋值 后面的系统自动赋值为0,,如果 你直接定义a[5],没有
初始化
系统自动赋的值是随机的 这个 谁也不知道,如果直接使用,对程序会有毁灭性的影响的,,,...
为什么普通变量可以直接
赋值初始化
,而
指针
所指向的变量不可以直接赋值...
答:
计算机上有很多程序在运行, 那运行的时候,都要临时的分配内存。我直接给变量a 和
指针
变量 b ,
赋值初始化
, 这时候,a,和b都是属于当前程序临时分配的, 这2个内存是为了当前程序而诞生分配的,所以可以直接给变量赋值,是安全的。而如果没有对指针变量进行初始化的话, 就要改他指向的内存的话,...
<涓婁竴椤
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
c语言指针定义并赋初值
指针数组赋初值
指针型变量怎么赋值
指针数组可以直接赋值吗
怎么给指针赋值
指针初始化的几种方法
强制数据类型转换
给指针所指向的地址赋值
指针初始化和赋值的区别