C语言学习笔记(2)——指针(下)
来源:互联网 发布:ip网络广播软件 编辑:程序博客网 时间:2024/06/05 10:19
它的第一个参数是置空内存的首地址,第二个参数写0, 第三个是置空的大小,单位字节(sizeof(a)) memcpy 实现第一个参数是目标地址,第二个是源地址,第三个是copy多少内容,单位字节 注意使用过程中假如待拷贝的数组和目标数组类型不同,short int 和int等。会输出如下奇怪
的结果
这里其实是00020001 00040003。。。000被隐藏起来了。可以用%08x让它把000输出 memmove和memcpy用法一样,使用memcpy的时候,一定要确保内存没有重叠区域。内存重叠: memcpy(&a[3],&a[0],20);//copy五个成员(注意不是20个)
char*作为函数的参数: void test(char *a) 和之前的数组是一样的,为了保护字符串a,需要加const strlen那个库函数计算字符串的长度 strlen(const char *a),它不要改字符串的值,所以用const strncat合并两个字符串和strcpy这两个的参数也有一个为const,指向的是源字符串 如果一个数组作为函数的参数,那么数组的成员数量在函数内部是不可见的,解决办法: 在传递一个数组的时候,同时提供另一个参数,标明这个数组有几个成员变量。如果传递的是个字符串,就不用 传递这个参数,因为字符串是0结尾的。
指针数组作为main函数的参数
void print(char *p)//错误 void print(char **p) for (i=0;i<3;i++) { printf("%s\n",p[i]);//p[i]是char * int main() {char *a[3]; char a1[]="hello:"; char a3[]="world"; a[1]=a2; a[2]=a3; print(a); returan 0; }
指针数组作为main函数的参数 int main(int argc ,char *args) //argc是一个指针数组char ,argc代表这个数组有多少个成员 系统调用main函数 argc代表命令行参数的数量,程序名字本身就算一个参数!!!一般args[0]代表函数名,main函数是系统调用的,所以main函数的功能是得到命令行的参数
- C语言学习笔记(2)——指针(下)
- c语言学习笔记(9)——指针
- C语言学习笔记——指针
- C语言学习笔记——指针
- C语言学习笔记——指针
- C语言学习笔记(五)——指针【C语言的灵魂】
- C语言学习笔记(十)--指针
- C语言学习笔记(五)指针
- Linux 下C语言的学习(五)——指针的学习(数组指针,指针数组,数组退化)
- C语言-指针的基础学习笔记(2)
- C语言学习笔记(1)——指针(上)
- C语言学习笔记(一)——数组指针杂项
- C语言学习笔记(四)——数组和指针
- C语言学习笔记(3)——指针七题
- Linux 下C语言学习(六)——二级指针、动态内存分配,函数指针与文件操作
- 黑马程序员——ios学习笔记 C语言 指针
- 黑马程序员——IOS学习笔记(C语言指针)
- 黑马程序员——C语言学习笔记05 指针
- poj 3295
- HDU1540 Tunnel Warfare(线段树+区间合并)
- MYSQL MVCC 实现机制
- 在Java的JFrame中,Button按钮不能正常显示东西而显示...问题
- win7和VMware Linux 使用ssh问题总结
- C语言学习笔记(2)——指针(下)
- 【java基础】抽象类与接口的异同!
- ArrayList中remove()方法删除长度大于5的元素之后下标重定位的问题
- Kinect V2 在windows上开发遇到的问题
- 分页查询工具类
- HTML5 介绍
- 关于防sql注入
- linux命令之用户管理
- 19.6 union一种节省空间的类--使用类管理union成员