c语言 指针如何赋值

void init(unsigned char *pp)
后在主函数中调用 void int("ascc")
可以正常赋值
但如果把int 函数中的内容加到主函数中
*pp="ddd"
时便无法赋值 无法得到正确的结果

第1个回答  2019-05-19
p指向变量b的地址答案是D,
A.*p指向变量b的值
*&b=*p
因为p=&b
B.同理
*p指向变量b的值
不是地址
后面的
&*b没有这种表达的
c
第2个回答  2012-07-27
赋值有2种,一种就是初始化,既:char *pp = "ddd";
另一种是:
char *pp;
pp = "ddd";
这样即可。
第3个回答  2012-07-27
正确答案:pp = "ddd";

*pp="ddd",这个用法,在PP指针还没有被初始化时,导致程序退出
第4个回答  2012-07-27
*pp="ddd“不对,指针赋值pp="ddd,没有*,因为在执行pp="ddd的时候,程序首先在内存分配一个可供字符串ddd存放的内存空间,再将指针pp设置为指向这段内存空间的第一个地址,也就是存放字符d的地址。
第5个回答  2012-07-28
初始化定义的时候可以这样赋值 int *pp="ddd",有修改常量区的风险
但是定义指针之后要这样赋值是不合法的

c语言 指针如何赋值
1、变量的指针就是变量的地址。存放变量地址的变量是指针变量。即在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个变量的地址或称为某变量的指针。2、为了表示指针变量和它所指向的变量之间的关系,在程序中用“*”符号表示“指向”。3、定义指针变量.对...

c语言,关于指针
(5)、双重指针取值和赋值,**pp就是取值,赋值就是**pp=,那么假设**pp已存放k的值,将k的值翻倍就是**pp*2,然后再将值赋予**pp就是**pp = **pp * 2,又由于算数运算符大于指针运算符,所以给加上(),优先运算指针运算符将值取出来,然后用c的语法糖*=简化代码 不知道你是否真的理...

c语言在对指针*P在进行赋值时,什么时候用变量名赋值,什么时候用变量的地...
因此如果要赋值给指针,对于单个变量,那么只用变量名就是取值,包括指针变量(指针赋值给指针),要取地址需要加&。对于数组直接赋值即可。重点:等号左右两边类型要一致,即左右值类型要相同。

请问在c语言中如何通过输入字符串为字符指针数组赋值?
若是指向字符数组的指针,则很简单,使用scanf("%s", str);函数获取输入的字符串,然后使用字符串拷贝函数strcpy(stc, dest);将获取的字符串拷贝到指定地址的字符指针数组中,拷贝过程中注意检查访问数组是否越界,若越界,则需要在字符数组的最后一个元素赋值为结束符'\\0'。若是赋值 字符指针数组,那...

C语言二维指针 有一个二维指针**a,如何给它赋初值。
不建议直接给指针赋值,除非是NULL;二维指针也是指针,如你所写,a只不过是指向另一个指针的指针,归根结底还是指针,不因为它是多维的就会有什么变化;例如:int** a = NULL; \/\/赋初值为空,这样做绝对是好习惯 或者:int a;int* b = &a;int** c = &b;再或者就是个二维数组:int a[...

C语言中,如何定义一个‘指针数组’,这个‘指针数组’专门用来存放‘数组...
()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int(*p)[4];\/\/该语句是定义一个数组指针,指向含4个元素的一维数组。p=a;\/\/...

C语言指针问题 如何用地址代码直接给指针变量赋值
p = (int )1244992;这样就可以赋值了,不过你的程序可能会出错的!不应该直接使用地址。

c语言中8位指针如何赋值给32位的指针
指针和数据搞混了 pu8_a;pu32_b;为指针。u32_data是数据,所以这样写:pu32_b = (uint32_t *)(pu8_a);u32_data = (uint32_t *)pu32_b ;在此之前,pu8_a指针必须已经赋值,例如pu8_a = &u8_data,即pu8_a指向u8_data的地址 ...

c语言里,如何把指针变量的地址赋给一个变量?
回答:p是指针变量,取p地址的地址赋值给一个变量,用&p,这是对的。 问题在于用来存储这个结果的变量是什么类型的,应该是指向指针的指针,int **q。 int *p, *q p=new int; *p = 30; *q = p; \/\/ 直接访问*q是危险的!应该先给q赋值再访问*q,比如 q= new int; q = &p; \/\/ ...

亲,C语言中指针的定义和引用以及赋值时候“*”都表示什么含义啊_百度知 ...
对于这个赋值问题还可以换一个角度去理解,在C语言中,使用赋值操作符时,赋值操作符左边和右边的表达式类型应该是相同的,如果不是,赋值操作符将试图把右边表达式的值转换为左边的类型。所以如果写出int *p = 0x12345678 ; 这条语句编译器会报错:'=' : cannot convert from ' const int ' to ' ...

相似回答