C语言数组赋值问题

weixin_37847078 weixin_37847078 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

我的问题
在queue[capacity] = data;之后
queue数组中的所有元素都变成了data的值

运行环境

## 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

=========================

...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
weixin_37847078
C语言 70,040 成员 243,237 内容