uchar num(uchar num;num初值多少)

uchar num(uchar num;num初值多少)p class f center p

大家好,我是讯享网,很高兴认识大家。



 <p class="f_center"><img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2024%2F1105%2F2de60bd4j00smh79h00cnd000v400d4p.jpg&thumbnail=660x&quality=80&type=jpg"/><br/><br/></p><p id="357V9KMD"><strong>一、内存</strong></p><p id="357V9KME"><strong>内存:</strong></p><p id="357V9KMF">存在内存里的。</p><p id="357V9KMG">内存分了N多个小空间,每个小空间1个字节</p><p id="357V9KMH">每个小空间有它自己的地址。每个地址之间差1</p><p id="357V9KMI">int类型占用4个字节,等于占了4个空间(有4个地址),不需要记住4个地址,而记住首地址就行了(因为首地址相当于入口或者生活中的门)</p><p id="357V9KMJ"><strong>指针:</strong></p><p id="357V9KMK">指针就是地址,地址就是指针。</p><p id="357V9KML">地址:内存的地址</p><p id="357V9KMM">内存中的地址:</p><p id="357V9KMN">其实也是从1开始编号,然后一直自增</p><p id="357V9KMO">1M内存,1024个地址</p><p id="357V9KMP">0x7fff5fbff7cc:这叫16进制</p><p id="357V9KMQ">十进制:逢10进1 有:0 1 2 3 4 5 6 7 8 9</p><p id="357V9KMR">逢十进1</p><p id="357V9KMS">9 10</p><p id="357V9KMT">十六进制:就是逢16进1</p><p id="357V9KMU">有:0 1 2 3 4 5 6 7 8 9 a b c d e f</p><p id="357V9KMV">以0x开头</p><p id="357V9KN0">简单说1-10</p><p id="357V9KN1">0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf</p><p id="357V9KN2">16:0x10</p><p id="357V9KN3">0x35:53</p><p id="357V9KN4">0xa0:160</p><p id="357V9KN5">顺带说下:</p><p id="357V9KN6">二进制:0和1</p><p id="357V9KN7">0 1 10</p><p id="357V9KN8">八进制:0 1 2 3 4 5 6 7</p><p id="357V9KN9"><strong>二、指针变量</strong></p><p id="357V9KNA">/*指针变量:存放地址的变量。</p><p id="357V9KNB">语法:类型 *指针变量名;</p><p id="357V9KNC">赋值:指针变量名 = 地址;</p><p id="357V9KND">在声明的时候初始化:类型 *指针变量名 = 地址;</p><p id="357V9KNE">例如:</p><p id="357V9KNF">int num = 20;</p><p id="357V9KNG">int *nump = #//存的是num的地址</p><p id="357V9KNH">打印指针变量:</p><p id="357V9KNI">printf("%p 

讯享网

%p “,nump,&num);

注意:定义指针变量,有如下几种方式:

1、类型 * 变量名 ;

2、类型* 变量名 ;

3、类型 变量名 ;

以上三种都可以, 代表一个特殊类型。

类型* 构成了类型*/

上面介绍了怎么去定义一个指针变量,下面介绍怎么使用它。

使用指针变量

语法:

*指针变量名;

语义:这就可以访问你所指向的那块空间里的值了

千万要注意:

访问指针变量时加星号和不加星号的区别:

int num;

int *p = #

1.加星号代表,是访问它所指向的空间里面的值。p 相当于 num;

2.不加星号代表,是访问它自己的空间里面的值。p 就是自己里面存的值///例如:intnum =10;

int*pNum;

pNum = #//注意:&不要省略!

printf(”%d %d “,num,*pNum); //所以也就是说,*pNum == num;*pNum =30;

printf(“num=%d “,num);//30

num =90;

printf(”*pNum=%d “,*pNum);

intnum =10;

int*pNum = #

(*pNum)++; //相当于num++ num=11

num +=20;


讯享网

printf(“num=%d “,num);//31intnum =10;

int*pNum = #

int*pNum2 = pNum;

*pNum2 =30;

printf(“num=%d *pNum=%d *pNum2=%d “,num,*pNum,pNum2);//30 30 30




一定要注意在使用指针变量的时候,加星号()和不加星号(*)的区别;同时指针变量也区别类型(区分类型是为了告诉指针,该去读取几个字节)。

什么类型的变量就用什么类型的指针去读取。

下面看一个例子:

intnum1 =10,num2 =20;

int*p1 = &num1;

int*p2 = &num2;

int*p3 = p2;

*p2 =40 ;

p2 = p1;

*p2 =30;

printf(“num1 = %d num2 = %d *p1= %d *p2= %d *p3= %d “,num1,num2.*p1,*p2,*p3);

/有兴趣的可以自己算下。/

指针变量作为函数的参数:

/语法:

返回值类型 函数名(指针类型 指针变量名){

例如:

void test1(int* num){

int main(int argc,const char argv[]){

int num = 10;

test1(&num);





小讯
上一篇 2025-05-31 07:28
下一篇 2025-05-08 14:13

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/205111.html