c语言经典编程 记忆测试,C语言中的* 简单记忆方法

在刚开始学C语言的时候,老师是这么教我的 :*是指针,**是指向指针的指针。int* p 的意思是p是一个指针,存放的内容是一个int类型……这些大概是书上对*的解释,最基本的例子是 int* p; *p = 1;  在输出*p会得到 1。我到现在还是感觉奇怪的很。

这里不想和细致的研究这些问题,只是想说说大概怎么使用*这个东西。其实在用C去解决一些算法问题的时候只要记住关于*的下面两个使用方法就足够了。

*与数组

动态一维数组

int* data = (int*) malloc (sizeof(int) * size); size是你想动态申请的数组元素个数。

动态二维数组

int** data = (int**) malloc(sizeof(int*) * row );//row是行数

for(int i = 0 ; i < col ;i++)

{

data[i] = (int*) malloc(sizeof(int) * col)  //col是列数

}

方便记忆

1.读,int* 直接读成 int数组,int**则读成数组的数组  = 二维数组。

2.同,malloc前面的强制类型转换和前面相同

3.降级,sizeof里的参数永远比前面少一个*。(我现在写程序的时候确实是这么想的,不会去从什么地址之类的考虑)

*与&

我学习的时候是用一句话去记的,*(星)是按图索骥,&是取地址。

什么是按图索骥?图就是一个变量的地址,*的作用是根据一个地址去取值,大概的意思就像按图索骥。

&任何一个标识符,会得到程序为这个标识符分配的地址。

标签:malloc,int,C语言,地址,记忆,数组,简单,sizeof,指针

来源: https://blog.csdn.net/qq_39834237/article/details/104719747

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值