首页 > 其他分享 >关于C语言中指针的使用的练习

关于C语言中指针的使用的练习

时间:2024-12-17 22:29:51浏览次数:9  
标签:arr int 练习 C语言 char printf new 指针 size

#include <stdio.h>
#include <stdlib.h>

int main() {
    char *arr = NULL;
    int size, new_size;

    // 动态分配初始内存
    printf("Enter the initial size of the array: ");
    scanf("%d", &size);
    arr = (char *)malloc(size * sizeof(char));
    if (arr == NULL) {
        printf("Memory allocation failed\n");
        return 1;
    }

    // 初始化数组
    for (int i = 0; i < size; i++) {
        arr[i] = 'a'+i;
    }

    // 输出初始数组
    printf("Initial array: ");
    for (int i = 0; i < size; i++) {
        printf("%c ", arr[i]);
    }
    printf("\n");

    // 根据用户输入调整数组大小
    printf("Enter the new size of the array: ");
    scanf("%d", &new_size);

	// 重新分配内存
	char * back_arr = arr;
    arr = (char *)realloc(arr, new_size * sizeof(char));
    if (arr == NULL) {
        printf("Memory reallocation failed\n");
        return 1;
    }

    // 如果新大小大于旧大小,初始化新元素
    if (new_size > size) {
        for (int i = 0; i < new_size; i++) {
            arr[i] = 'A'+i;
        }
    }

    // 输出调整后的数组
    printf("Resized array: ");
    for (int i = 0; i < new_size; i++) {
        printf("%c ", arr[i]);
    }
    printf("\n");

    // 释放内存
    free(arr);
    return 0;
}

这是一个练习,实现了动态分配内存.

标签:arr,int,练习,C语言,char,printf,new,指针,size
From: https://blog.csdn.net/2402_87656226/article/details/144546161

相关文章

  • LeetCode题练习与总结:供暖器--475
    一、题目描述冬季已经来临。 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。在加热器的加热半径范围内的每个房屋都可以获得供暖。现在,给出位于一条水平线上的房屋 houses 和供暖器 heaters 的位置,请你找出并返回可以覆盖所有房屋的最小加热半径。注意:所......
  • LeetCode题练习与总结:一和零--474
    一、题目描述给你一个二进制字符串数组 strs 和两个整数 m 和 n 。请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。示例1:输入:strs=["10","0001",......
  • C语言关于return在循环语句中的使用(求一个数是否为素数的过程中的思考)
    intjk(inta)//定义一个jk函数判断a是否是素数,是返回1,不是则返回0.{ inti;if(a<2){return0;} elseif(a==2) { return1; } else { for(i=2;i<=a-1;i++) { if(a%i==0) { return0; } } return1; } }intmain(......
  • 【C语言】打牌游戏
    相信你是最棒哒!!!文章目录题目描述 正确代码总结题目描述 Suneet和Slavic玩一个卡牌游戏。游戏规则如下:每张卡片的整数值在 1 和 10之间。每位玩家获得 2 张面朝下的卡片(因此玩家不知道自己的卡片)。游戏是回合制的,且 恰好进行两轮。在每轮中,两位玩家随......
  • C语言单向循环链表和双向循环链表
     单向循环链表#ifndef__TEST_H__#define__TEST_H__#include<stdio.h>#include<stdlib.h>typedefintdataType;typedefstructnode{ union { intlen; dataTypedata; }; structnode*next;}loopLink,*looplinkPtr;looplinkPtrcreat();intemp......
  • 【C语言】拆数字组成最大数
    相信你是最棒哒!!!文章目录题目描述正确代码法一注释版简洁版法二注释版简洁版题目描述任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入1593,则输出为9531。输入描述自然数n输出描述各位数字组成的最大数样例输入1593样例输出9531......
  • 【C语言】百钱百鸡问题
    相信你是最棒哒!!!文章目录题目描述正确代码注释版简洁版总结题目描述中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?无输入输出描述给出所有的解,每组解占一行解的顺......
  • 【STM32练习】基于STM32的PM2.5环境监测系统
    一.项目背景    最近为了完成老师交付的任务,遂重制了一下小项目用STM32做一个小型的环境监测系统。    项目整体示意框图如下:二.器件选择单片机(STM32F103)数字温湿度模块(DHT11)液晶显示模块(0.8寸OLED)粉尘传感器模块(GP2Y10)报警模块(蜂鸣器)按键控制模块(独立按......
  • 通过指针引用字符串
    通常引用字符串是把其放入一个数组中,通过指针的学习,发现,指针同样可以引用字符串,且更有效率。旧方法:定义一个数组a【】=“所要引用的字符串”。新方法:定义一个指针(字符型)char*string=“所要引用的字符串”,也称对指针变量string的初始化。这个需要解释一下,c语言对字符串常量是按......
  • C语言基础-字符数组与字符串
    字符数组概念元素类型为char字符型的数组,字符数组往往是用来存储字符串数据的。C语言中,字符是字节字符。字节字符:一个字符占一个字节,在C语言中,使用char表示字节chara='A';charb='1';charc=65;//以上都是正确的chard="A";chare='司';//以上都是错......