C primer plus第12章课后习题9(理解指针与动态分配)
发布日期:2022-01-20 01:07:15 浏览次数:2 分类:技术文章

本文共 975 字,大约阅读时间需要 3 分钟。

在这里插入图片描述

有两个malloc和free,可看代码//
/ 代码不是原创,github下载的别人的。侵权删

#include 
#include
#include
#define SIZE 40char * * mal_ar(int n);int main(void){
int words, i; char * * st; printf("How many words do you wish to enter? "); scanf_s("%d", &words); getchar(); //滤掉回车 printf("Enter %d words now:\n", words); st = mal_ar(words); printf("Here are your words:\n"); for (i = 0; i < words; i++) {
puts(st[i]); free(st[i]); //释放每个指针指向的内存 } free(st); //释放指针数组 return 0;}char * * mal_ar(int n){
char * * pt; int i, j; char ch; //给n个指针分配动态内存空间,返回指针的指针 pt = (char * *)malloc(n * sizeof(char *)); for (i = 0; i < n; i++) {
//给每个指针指向的地址分配内存空间 pt[i] = (char *)malloc(SIZE * sizeof(char)); //可以仅用scanf("%s", pt[i]); while (isspace(ch = getchar())) //处理单词之前的空格符 continue; pt[i][0] = ch; //单词首字符 j = 1; while (!isspace(pt[i][j] = getchar())) j++; pt[i][j] = '\0'; //将末尾的空格替换为\0' } return pt;}

对理解指针和字符串的含义有意义

2020-04-10
大连


转载地址:https://blog.csdn.net/answerMack/article/details/105433645 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:word批量删除图片
下一篇:C primer plus自用知识点整理(第十二章)存储类别、链接和内存管理

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月11日 04时46分46秒