二级指针拷贝
2014-02-07 11:31
169 查看
#include <stdio.h> #include <string.h> int main(int argc, char** argv) { int maxLen=0; //N = argc; char **ptr = NULL; int i = 0; //============以下程序是为了求出argv[][]数组中最长的串长度,把最长串长度保存在maxLen里 maxLen=strlen(argv[0]); for (i = 1; i < argc; i++) { maxLen = maxLen > strlen(argv[i])?maxLen:strlen(argv[i]); } //maxLen自增,是为了多出一个位置以便存放字符串结束符'\0' maxLen++; //printf("====%d==\n",maxLen); //先申请一个含有argc个char *指针的二级指针空间,然后再给每个ptr[i]指针申请长度为maxLen的指针空间。 ptr = (char **)malloc(sizeof(char *) * argc); for (i = 0; i < argc; i++) { ptr[i] = (char *)malloc(sizeof(char) * maxLen); } //把**argv的内容拷贝到**ptr指向的空间 for (i = 0; i < argc; i++) { strcpy(ptr[i],argv[i]); } for(i = 0; i < argc; i++) { printf("argv[%d]=%s\n",i,argv[i]); } //用完后注意free指针空间 for(i = 0; i < argc; i++) { free(ptr[i]); } free(ptr); ptr = NULL; return 0; }
相关文章推荐
- 4-18-2-二级多级指针、指针与数组、多线程并行计算、多线程队列、字符串拷贝
- 关于对有一级指针,二级指针的初始化及其浅拷贝和深拷贝
- 哈希表-二级指针
- 二级指针的作用
- C语言中的二级指针的三种内存模型
- c++ 里面由浅拷贝引起的悬挂指针
- 二级指针使用方法
- 二级指针做输入第1种模型
- 二级指针
- 二级指针创建二维数组
- 关于二级指针的认识
- day4_二级指针做输入输出的三种内存模型
- 说透一级指针和二级指以及(void**)&在双链表中的应用
- C语言编程基础-16动态内存分配 二级指针做形参 函数指针
- const 和二级指针的使用
- 二级指针
- int (*p)[4] p 是二级指针 二维数组 二级指针
- 指针用作传出参数时,需要二级指针
- C++文件头,命名空间,new和delete,内联函数,引用,函数重载,构造函数和析构函数,深拷贝和浅拷贝,explict,this指针
- 用汇编的眼光看C++(之指针拷贝)22