#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#define N 8
void func (char* ch,char **c1_a,char **c2_a,int* c1_s,int* c2_s)
{
    char* c2_a;
    int i;
    for(i=0; i<N; i++)
    {
        if(ch[i] >= 'A' && ch[i] <= 'Z')
            (*c1_s)++;
    }
    *c2_s = N - *c1_s;
    *c1_a = (char*)malloc((*c1_s)*sizeof(char));
    *c2_a = (char*)malloc((*c2_s)*sizeof(char));
    *c1_s=*c2_s=0;
    for(i=0;i<N;i++)
    {
        if(ch[i] >= 'A' && ch[i] <= 'Z')
        {
            (**c1_a)[c1_s] = ch[i];
            (*c1_s)++;
        }
        else
        {
            (**c2_a)[c2_s] = ch[i];
            (*c2_s)++;
        }
    }
}
void main ()
{
    char ch[N] = {'A','c','Z','D','G','h','i','Q'};
    char* c1_a,*c2_a;
    int c1_s, c2_s,i;
    func(ch,&c1_a,&c2_a,&c1_s,&c2_s);
    printf("Address for Capital is %d and letters are:\n",c1_a);
    for(i=0;i<c1_s;i++)
    {
        printf("%c",c1_a[i]);
    }
        printf("Address for Small is %d and letters are:\n",c2_a);
    for(i=0;i<c2_s;i++)
    {
        printf("%c",c2_a[i]);
    }
}
I checked with F11 and it says it crashes once I get to the line:
*c1_a = (char*)malloc((*c1_s)*sizeof(char));
I have a project with the same idea only with numbers instead and somehow it works.
 
     
     
     
    