C语言指针浅析

int a;(整型变量)
申请4个空间,内存的4个地址;
首地址是4个地址最小地址,&a为首地址;
合法的空间。
int b[10];(10个整型变量)—— 如果要定义100000000个整数?用数组
申请4*10,内存的40个地址;
b是数组的首地址(整型指针常量);—— b能否存到a中?否
b的值和&b[0]值一样;

指针运算符*,间接访问

int a;(整型变量——只能存数据)
int *p;(整型指针变量——指针变量只能存指针)

a(整型变量)= 10(整型常量);对
p(整型指针变量)= 10(整型常量);错
p(整型指针变量)= &a(整型指针常量);对

int a,*p=&a;
*p(间接访问)= 10;
a = 10;
上面两句话没有任何区别(程序中的代码一样不一样取决于编译器——ANSI C),前提是p中要存a的首地址。

机器语言—(编译器)—汇编语言—(编译器)—高级语言

char a;—— char *pa;pa = &a;
int b;—— int *pb;pb = &b;
short c;—— short *pc;pc = &c;
我用什么可以把他们的地址存起来?用变量,用指针变量。
int *p;*是在说明p是一个指针变量。
p= &a;?错
p(整型指针变量)=&a(字符型指针常量)错

有4个空间,他们可以代表什么?
1、1个整型变量;
2、1个指针变量;
3、2个短整型变量;
4、4个字符型变量;
5、1个浮点型变量;
6、1个长整型变量;

指针数组变量和数组指针变量

¥只要是指针变量肯定是4个字节

指针数组变量:如果我要定义N个指针变量,该使用什么概念?
数组指针变量:怎么存储一个数组的地址?

假设a值是100,b值是2000
int *a[10];	整型指针数组变量	分配了4*10	a整型二级指针常量	a+1(104)
char*b[10];	字符型指针数组变量	分配了4*10	b字符型二级指针常量	b+1(2004)

c语言里谁是数组指针?
二维数组名
取一维数组名的地址

假设a值是100,b值是2000,c值是4
int a[2][3];	a整型一维数组指针,*a整型指针	a+1(112)	*a+1(104)
char b[2][3];	b字符型一维数组指针,*b字符指针	b+1(2003)	*b+1(2001)
short c[10];	&c短整型一维数组指针,c短整型指针	&c+1(24)	c+1(6)

指针总结:
可以取代谁
+1的偏移

int (*p)[3]:怎么定义数组指针变量来存上面的a?	分配了4个字节,p = a;
short (*q)[10]:怎么定义数组指针变量存上面的&c?分配了4个空间,q = &c;

指针中*的用法

*有3中用法
int *p;
  这里的*和int一块形容p是一个整型指针变量。
int a,*p = &a; *p = 10;
  上面的第一个*是*的第一种用法,第二个*是指针运算符(间接访问)。
int a[3][4], *p = *a; **a = 10;
  上面第一个*是*的第一种用法,第二个*是改变偏移量(变小),第三个*是*的第二中用法,第四个*是改变偏移量(变小)和第二个*是一样的。
  
指针中&的用法

&有两种用发
int a, *p = &a;
  这里的&是取a的首地址。
int a[10], int (*p)[10] = &a;
  这里的&是改变偏移量(变大)。

汉语输入法设置:ibus-setup

c语言中的二级指针?
1、指针数组名
2、取一级指针的地址

int a[2][3];
为什么a和*a的值是一样的?
int b[3];
为什么b和&b的值是一样的?

怎么知道我安装了什么软件?
dpkg -l
怎么知道我是否安装了tftp服务器和tftp客户端?
dpkg -l | grep tftp
linux下字典程序的安装步骤:
1、查找下载安装sdcv字典库查询软件
2、查询是否已经安装
3、安装字典库,安装到用户根目录
4、测试sdcv hello


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值