69,382
社区成员
发帖
与我相关
我的任务
分享
## macbook pro
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
## docker ubuntu container
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#include <stdio.h>
#include <unistd.h>
#include <pthread.h>
#include <semaphore.h>
#include <sys/wait.h>
#include <string.h>
#define times 10
#define length 100
#define name "wayne"
char* queue[length];
int capacity = 0;
int position = 0;
char tmp[sizeof(name)+10];
void push_data( char* data ) {
queue[capacity] = data;
printf("=========================\n\n");
printf("capacity is: %d; text is: %s\n", capacity, data);
for (int i=0; i<=capacity; i++) {
printf("index is: %d; element is: %s\n", i, queue[i]);
}
printf("\n=========================\n");
capacity++;
}
int main() {
for ( int i=0; i<times; i++) {
snprintf( tmp, sizeof(name)+2, "%s%d", name, i );
push_data( tmp );
}
}
=========================
capacity is: 0; text is: wayne0
index is: 0; element is: wayne0
=========================
=========================
capacity is: 1; text is: wayne1
index is: 0; element is: wayne1
index is: 1; element is: wayne1
=========================
=========================
capacity is: 2; text is: wayne2
index is: 0; element is: wayne2
index is: 1; element is: wayne2
index is: 2; element is: wayne2
=========================
=========================
capacity is: 3; text is: wayne3
index is: 0; element is: wayne3
index is: 1; element is: wayne3
index is: 2; element is: wayne3
index is: 3; element is: wayne3
=========================
=========================
capacity is: 4; text is: wayne4
index is: 0; element is: wayne4
index is: 1; element is: wayne4
index is: 2; element is: wayne4
index is: 3; element is: wayne4
index is: 4; element is: wayne4
=========================
=========================
capacity is: 5; text is: wayne5
index is: 0; element is: wayne5
index is: 1; element is: wayne5
index is: 2; element is: wayne5
index is: 3; element is: wayne5
index is: 4; element is: wayne5
index is: 5; element is: wayne5
=========================
=========================
capacity is: 6; text is: wayne6
index is: 0; element is: wayne6
index is: 1; element is: wayne6
index is: 2; element is: wayne6
index is: 3; element is: wayne6
index is: 4; element is: wayne6
index is: 5; element is: wayne6
index is: 6; element is: wayne6
=========================
=========================
capacity is: 7; text is: wayne7
index is: 0; element is: wayne7
index is: 1; element is: wayne7
index is: 2; element is: wayne7
index is: 3; element is: wayne7
index is: 4; element is: wayne7
index is: 5; element is: wayne7
index is: 6; element is: wayne7
index is: 7; element is: wayne7
=========================
=========================
capacity is: 8; text is: wayne8
index is: 0; element is: wayne8
index is: 1; element is: wayne8
index is: 2; element is: wayne8
index is: 3; element is: wayne8
index is: 4; element is: wayne8
index is: 5; element is: wayne8
index is: 6; element is: wayne8
index is: 7; element is: wayne8
index is: 8; element is: wayne8
=========================
=========================
capacity is: 9; text is: wayne9
index is: 0; element is: wayne9
index is: 1; element is: wayne9
index is: 2; element is: wayne9
index is: 3; element is: wayne9
index is: 4; element is: wayne9
index is: 5; element is: wayne9
index is: 6; element is: wayne9
index is: 7; element is: wayne9
index is: 8; element is: wayne9
index is: 9; element is: wayne9
=========================
//queue[capacity] = data;
queue[capacity] = malloc( strlen( data ) + 1 );
strcpy( queue[capacity], data );