c语言中q,%-8u输出是什么

Python023

c语言中q,%-8u输出是什么,第1张

"%-8u"一般代表unsignedchar*。是使用typedef或者define重新定义过的,指向无符号字符数据类型的指针。C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。

先说一下这几个运算符的意思:*在定义变量的时候作用是声明这是一个指针变量,再其它地方是用来寻址的;&是取地址运算符,可以获取一个变量在内存中的地址;

然后说你提到的这三句话:

*q=&a

这句话应该是出现在定义变量q的时候,可以这样写:

int a

int *q = &a

这里,*的作用是声明q是一个指针变量,&的作用就是把a的地址取出来,通过赋值号“=”,赋给指针q;

q=&a

这句话是出现在定义变量之后的,可以这么写:

int a

int *q

q = &a

这里q已经在定义时被声明过是一个指针变量了,在使用的时候不需要附带*,这句话的意思也是把a的地址赋给指针q;

上边这两句的效果其实是一样的。

*q=*a

这样的话,q和a这两个变量就都是指针变量了,这里的*不代表“声明”,而是“指向”,意思是把a指向的那个变量的值赋值给q指向的那个变量;这么说吧,如果有这样的定义:

int x = 2,y = 3

int *a,*q

a = &x

q = &y

到这里为止,定义了两个整型变量xy和两个指针aq,a指向x,q指向y;

*q = *a

执行完这句之后,q指向的值,也就是y的值,已经等于了a指向的值,即y这个时候也等于2了。