struct.c
来自「基于网络编程的例子」· C语言 代码 · 共 42 行
C
42 行
/*
* struct.c - debug a program with a struct
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void err_quit(char *msg);
int main(int argc, char *argv[])
{
int i = 0;
struct s {
int index;
char *name;
} *S;
/* incorrect memory allocation */
if((S = malloc((sizeof(S)) * argc)) == NULL)
err_quit("(__LINE__)malloc");
while(i < argc) {
S[i].index = i;
if((S[i].name = malloc(strlen(argv[i]) + 1)) == NULL)
err_quit("(__LINE__)malloc");
strcpy(S[i].name, argv[i]);
++i;
}
/* Now, display the values in the array */
for(i = 0; i < argc; ++i)
fprintf(stdout, "%d: %d, %s\n", i, S[i].index, S[i].name);
exit(EXIT_FAILURE);
}
void err_quit(char *msg)
{
perror(msg);
exit(EXIT_FAILURE);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?