C语言怎么将变量里面的值赋给指针?

unsigned char r1,*p;
r1值为0x50
要把r1的值赋给 指针p,该怎么做才行?另外,请问指针的宽度是多少位?
栁児 朋友谢谢你的详细回答;谢谢!
其实我的目的也就是想把寄存器里面的值作为指针要指向的地址,也就是作为指针的初值使用,所以才要那样做;那么按你的说法,应该用强制转换就可以了吧,也就是p = (unsigned char *)r1; 这样就可以把寄存器r1里面的值作为指针P指向的地址了吧?谢谢!

  C语言怎么将变量里面的值赋给指针,方法如下:
  比如
  int a;
  int *p; p指向储存整形数据的空间。
  p=&a;
  保证p与&a为同一类型。
  赋值 :将某一数值赋给某个变量的过程,称为赋值。
  将确定的数值赋给变量的语句叫做赋值语句。各程序设计语言有自己的赋值语句;赋值语句也有不同的类型。所赋“值”可以是数字,也可以是字符串和表达式。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-08-27
“要把r1的值赋给指针p”
从字面意义上来说就是
p = (unsigned char *)r1;
内存地址0-255一般属于系统保护地址,这样用在PC和嵌入式中都是危险的
*p = r1;是绝对错误的,“指针使用之前要初始化”
直观一点就是说在
*p=..;
语句之前一定要有类似
p=...;
的语句
第2个回答  推荐于2018-06-14
p=r1;就可以了

如果要让p指向r1就p=&r1;

指针的宽度win32下是4位 dos下2位
也就是sizeof(p)=sizeof(int);本回答被网友采纳
第3个回答  推荐于2017-09-09
“要把r1的值赋给指针p”

从字面意义上来说就是
p = (unsigned char *)r1;

内存地址0-255一般属于系统保护地址,这样用在PC和嵌入式中都是危险的

*p = r1;是绝对错误的,“指针使用之前要初始化”

直观一点就是说在

*p=..;

语句之前一定要有类似

p=...;

的语句本回答被提问者采纳
第4个回答  2015-07-07
“要把r1的值赋给指针p”

从字面意义上来说就是
p = (unsigned char *)r1;

内存地址0-255一般属于系统保护地址,这样用在PC和嵌入式中都是危险的

*p = r1;是绝对错误的,“指针使用之前要初始化”

直观一点就是说在

*p=..;

语句之前一定要有类似

p=...;

的语句
相似回答