指针作为函数参数小结

刚刚看代码看到一个地方用双指针作为函数参数,调用的地方需要取到有效值。我想也没想就修改了一下代码,结果运行后是错误的。

仔细想了想,觉得有必要捋一捋,就写了下面的测试代码作为小结。我错用了第一种错误的办法。

通过指针作为参数传值,出了传递入参外,通常也是为了能够通过这个指针返回结果。我的总结是这样的:

1. 如果是单指针,一般直接修改指针指向变量的值;

2. 如果是双指针,一般修改双指针指向指针的值,即赋一个有效的地址给这个指针。

所以要注意的是,这个地址指向的内存必须在被取值之前是有效的,如果是栈内存,出栈后就可能没用了;如果是堆内存,不能被释放;所以最好是全局或者静态内存。

代码:

阅读更多指针作为函数参数小结

IOS越狱后有用的几个软件

首先 添加威锋源: apt.weiphone.com

1. 百度输入法;

2. ifile,不是ifiles哦: 这个软件可以修改IOS文件系统任何文件,比如可以用来屏蔽“语音控制“功能;

3. iBluever,必须是bigboss源,这样可以让你的ipod或者ipad通过BlackBerry或者其他手机上网;

4. 熊猫桌面:可以有很多使用的快捷键;
5 横屏锁定 躺着看视频或者上网很方便

当然最重要的是,可以解锁iphone。

ubuntu网络设置的命令总结

原文转自:http://www.cnblogs.com/empire/archive/2011/01/10/1931877.html , 其中所有的sudo vi建议修改为sudo gedit。

一、使用命令设置ubuntu的ip地址

1.修改配置文件blacklist.conf禁用IPV6:
sudo vi /etc/modprobe.d/blacklist.conf
2.在文档最后添加 blacklist ipv6,然后查看修改结果:
cat /etc/modprobe.d/blacklist.conf
3.设置IP(设置网卡eth0的IP地址和子网掩码)
sudo ifconfig eth0 192.168.2.1 netmask 255.255.255.0
4.设置网关
sudo route add default gw 192.168.2.254
5.设置DNS 修改/etc/resolv.conf,在其中加入nameserver DNS的地址1 和 nameserver DNS的地址2 完成。
6.重启网络服务(若不行,请重启ubuntu:sudo reboot):
sudo /etc/init.d/networking restart
7.查看当前IP:
ifconfig

阅读更多ubuntu网络设置的命令总结

FTP软件传输的问题

不知道你有没有遇到这样的问题:

通过FTP软件(比如FileZilla)进行上传下载时,文件被改变了!比如从windows上编辑一个文本文件,上传到linux/QNX上发现大小不一样了,脚本有时候也运行不了了,可执行文件运行提示失败!

这个时候你会发现通过window自带的ftp程序是没问题的,可惜没有界面,不方便使用还好说,更容易出错啊!

其实问题一般出现在传输文件类型设置上,FTP软件一般默认传输类型为Auto,即可能使用”ascii”也可能使用”Binary“,问题就出现在ascii传输时,不同操作系统格式是不一样的,这就会出问题。一般只要强制使用”Binary”传输就OK了。

FileZilla设置如下:

Edit –>Settings->Transfers->File Types   强制选择Binary就好了。

Skydrive同步文件失败的办法

不得不说这是Skydrive不人性化的一方面,同步失败就给个红××,连失败原因都么的!

你可以尝试通过网页形式上传,这时候你就会得到失败原因了,一般来说就是文件名的问题,除了横杆外不能带任何特殊字符哦!

word中显示代码格式的办法

代码如果直接从source insight中拷贝到word会灰常灰常难看,最简单的办法就是安装一个免费的Visual Studio (推荐VS2008 express),然后从VS拷贝过去,粘贴的时候注意选择“keep source formatting”,粘贴完后,选中这段代码,再从表格工具中用“Outside bolders”框上,就很漂亮啦。   看看这个:

image

如果用live writer写博,安装一个插件code snippet就完美了。

calloc

转自百度百科:http://baike.baidu.com/view/653964.htm

函数简介

  • calloc是一个C语言函数
  • 函数名: calloc
  • void *calloc(unsigned n,unsigned size);
  • 功 能: 在内存的动态存储区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针;如果分配不成功,返回NULL。
  • 跟malloc的区别:
  • calloc在动态分配完内存后,自动初始化该内存空间为零,而malloc不初始化,里边数据是随机的垃圾数据。
  • 用 法: void *calloc(unsigned n,unsigned size);
  • 头文件:stdlib.h或malloc.h
  • 相关函数:mallocreallocfree

阅读更多calloc