char ** str的使用方法:动态内存分配-------二维指针
2013-03-28 21:48
399 查看
直接上代码:
看了就懂了。
看了就懂了。
#include<iostream> using namespace std; int main(int argc,char *argv[]) { char **str; int i,j; char ch; str=(char **)malloc(sizeof(char*)); cout<<"输入字符串,以@结束:"<<endl; fflush(stdin); i=0; ch=getchar(); while (ch!='@') { str=(char **)realloc(str,(i+1)*sizeof(char*)); str[i]=(char*)malloc(sizeof(char)); if (i==0) { str[i][0]=ch; j=0; } else { j=-1; } ch=getchar(); while ((ch!='\n')&&(ch!='@')) { j++; str[i]=(char*)realloc(str[i],sizeof(char)*(j+1)); str[i][j]=ch; ch=getchar(); } str[i]=(char*)realloc(str[i],sizeof(char)*(j+1)); str[i][j+1]='\0'; i++; } for (j=0;j<i;j++) { cout<<str[j]<<endl; } return 0; }
相关文章推荐
- C和指针之动态内存分配之(编写calloc函数,函数内部使用malloc函数来获取内存)
- 编写一个函数,此函数使用动态存储分配来产生一个字符串的副本。例如函数为strclone,则调用p=strclone(str),将会为一个新的字符串分配和str占内存大小相同的一个字符串,并将字符串st
- C和指针之动态内存分配之(编写calloc函数,函数内部使用malloc函数来获取内存)
- C和指针之动态内存分配malloc、calloc、realloc简单使用和区别
- C和指针之动态内存分配(读取范围在1和标准输入读取的size之前每个数据出现的次数)
- C++ 何时使用动态分配(即使用new关键字)?何时使用指针?
- c语音动态内存分配,内存重新分配,内存释放,指针运算
- 改变指针指向的字符内容、动态分配字符型指针变量内存空间
- 最长公共子序列的C++实现---附二维指针的使用方法
- 动态数组的使用(动态分配,指针)
- SQL服务器内存有两种基本管理方法:动态分配和静态分配
- 关于二维数组的动态内存分配的一个比较好的方法
- 数据结构基础:指针及动态内存分配(malloc)
- 使用动态分配和指针操作求 9 个 double 数的乘积(编译通过了,但是运行时出错,谁能帮我看看出了什么问题啊)[em08]
- 16位平台、32位平台、64位平台下char、short、int、long、指针 分别占多少字节,操作系统可以使用的最大内存空间
- C和指针之动态内存分配堆、栈、全局区(静态区)、常量区对比总结学习笔记
- C语言编程基础-16动态内存分配 二级指针做形参 函数指针
- 字符数组 与 字符指针(使用前分配内存)
- 数组、指针和字符串:动态内存分配和释放
- 黑马程序员-C语言中内存动态分配函数的使用方法及注意事项