getchar
#include<stdio.h>
int main()
{
阻塞函数
printf("%c\n",getchar());
printf("%c\n", getchar());
printf("%c\n", getchar());
printf("%c\n", getchar());
printf("%c\n", getchar());
return 0;
}
realloc
#include<stdio.h>
#include<stdlib.h>
int main()
{
char* str = (char*)malloc(sizeof(char) * 5);
str[0] = 'a';
str[1] = 'b';
str[2] = 'c';
str[3] = 'd';
str[4] = '\0';
str = (char*)realloc(str,10);
str[4] = 'e';
str[5] = 'f';
str[6] = 'g';
str[7] = 'h';
str[8] = 'i';
str[9] = 'j';
printf("%s\n", str);
system("pause");
return 0;
}
getstring
#include<stdio.h>
#include<stdlib.h>
char* Getstring()
{
int size = 5;
char* str = (char*)malloc(size);
int count = 0;
char c = 0;
while ((c = getchar()) != '\n')
{
str[count] = c;
count++;
if (count == size)
{
size += 5;
str = (char*)realloc(str,size);
}
}
str[count] = '\0';
return str;
}
int main()
{
char* p = Getstring();
printf("%s\n",p);
free(p);
return 0;
}
结构体
#include<stdio.h>
#include<stdlib.h>
typedef struct AA
{
int a;
char b;
char* p;
}SAA;
int main()
{
struct AA aa = {1,'x',"abcd"};
struct AA* p = (struct AA*)malloc(sizeof(struct AA *));
SAA bb = {6,'f',"sfgewgewgf"};
aa.a = 2;
aa.b = 'z';
aa.p = "sfefsef";
p->a = 3;
p->b = 'c';
p->p = "sfefwsefdgds";
printf("%d %c %s\n",aa.a,aa.b,aa.p);
printf("%d %c %s\n",p->a,p->b,p->p);
printf("%d %c %s\n",bb.a,bb.b,bb.p);
return 0;
}