又到了一年一度我们学校linux实验室纳新的时间,去年的5.1写了一假期的面试题 哈哈哈 最后->面试没通过 !!!
今年学弟又在5.1奋斗面试题 顺便问我 题 哈哈哈哈 我并不太会 毕竟 面试失败 觉得自己很废物 整整一年 我没学 现在想来 还是觉得自己很任性的 浪费了自己的一年关键时光 现在看 其他的同学都学的很多 我却什么都不会 哎。。 但是我还是任性的把这些都归结于 我没加实验室 ~ 作为一个菜鸟 只能这样想想了 ——>
void swap(int **p, int **q)
{
int *t;
t = *p;
p = q; *p = t;
}
int main()
{
int a = 1, b = 3, *p = &a, *q = &b;
swap(&p, &q);
printf("%d %d %d %d\n", a, b, *p, *q);
return 0;
}
怎么说呢。额,这是一个很简单的问题 ,感觉大一的孩子们都会,毕竟的那天才知道 有个大一的孩子 C++很好 (据说),他说要在今年的暑假 把CS框架 写出来 !!! 0.0 0.0 0.0 看到了吗 我脸上 大写的懵逼 是的 是懵逼 不是震惊 是这样 写CS ->牛逼 C++->牛逼 要写多久 ,一定不好写吧->懵逼->懵逼->懵逼……
额 哈哈哈哈 扯远了 嗯 这是我给学弟的答案
我觉得很清楚呀 可是学弟说他不明白 0.0 为毛 是我体内已经压制下去的表达力不清楚的毛病又出来了吗 怎么又这样 我还想在大二最后的时候告别单身呢 这样的要怎么和帅哥说话?! 额 又远了。。。
那就说说这样
**&p=*p=&a
这是为什么?额 。学弟你倒是看看你的定义呀。。
int a = 1, b = 3, *p = &a, *q = &b 接收的是swap(int **p, int **q)
,传入的是 swap(&p, &q);
那么把&p传进去就是用二级指针p接收&p,然后就是**&p=*p=&a 嗯 学弟说他明白了 又问我 二级指针是什么? 我。。。懵逼 0.0 二级指针嘛 指针的指针 哈哈哈 ———A(即B的地址)是指向指针的指针,称为二级指针 ———- 我百度给他, 我想了想 简单的说int **p;int *q;如果p=q ;不就是二级指针了吗?毛毛!!!学姐你认真
点 我们还是朋友 0.0 额 指针地址:就是指针自己的地址,是内存中用于存放指针变量的内存地址
int *p 就是 p 的地址
指针保存的地址:指针所保存的变量在内存中的地址,通俗讲就是指针所指向的对象的内存地址
int a;int *p; p=&a; a的地址
指针所保存的地址的值:指针所指对象的数值。a的值 **p二级指针,p是指向一个指针q的内存的,q是指向一个变量的内
的 也就是这个样子的!
这图片不听我画 !! 就这样。嗯 感觉自己已经说完了 哈哈哈 好像我什么也没有说呀。。。额 瞎扯淡了这么久 其实是我好久都没有发东西 额 之前也没有发什么 哈哈哈 嗯 就是 听得学长一席话 突然好想读读书 嗯 学长是好人 哎。。 怎么我还是单身汪呢 忧愁