《Linux C 编程一站式学习》数组
前言
- 数字数组
- 字符串
- 嵌套数组
ps:直接看例题程序吧
一、随机数绘制直方图
/* 题目:1、补完本节直方图程序的main函数,以可视化的形式打印直方图。例如上一节统计20个随机数的结果是:
0 1 2 3 4 5 6 7 8 9
* * * * * * * *
* * * * * * *
* * *
*
*
*/
/* 在0~BOUND范围内产生N个随机数,生成直方图 */
#include <stdio.h>
#include <stdlib.h> /* 产生随机数 */
#include <time.h> /* 获取当前时间 */
#define N 20
#define BOUND 10
int a[N];
/* 产生0~upper_bound范围随机数 */
void gen_random (int upper_bound)
{
int i;
srand((unsigned)time(NULL));
for ( i=0; i<N; i++ )
a[i] = rand() % upper_bound;
}
int main (void)
{
int i, histgram[BOUND] = {};
gen_random(BOUND);
for( i=0; i<N; i++)
++histgram[a[i]];
printf("0=%d\t1=%d\t2=%d\t3=%d\t4=%d\t5=%d\t6=%d\t7=%d\t8=%d\t9=%d\n", histgram[0], histgram[1], histgram[2], histgram[3], histgram[4], histgram[5], histgram[6], histgram[7], histgram[8], histgram[9]);
i=N;
while( i>0 )
{
int j;
for( j=0; j<BOUND; j++)
{
if( histgram[j] > 0 )
{
histgram[j]--;
printf("*");
i--;
}
printf("\t");
}
printf("\n");
}
return 0;
}

二、字符串与嵌套数组

这里要特别注意:不能通过下标修改字符串的内容 ,因为 字符串是常量(const)存储在静态存储区,指针指向静态区,但静态区无法修改因此不能更改;但是若拷贝入一个字符数组相当于放入栈中,那么就可以修改。(附大佬分析)
嵌套数组
Linux C编程:随机数直方图与字符串及嵌套数组解析
本文介绍了如何使用C语言在Linux环境下绘制随机数直方图,通过示例程序展示了如何生成并打印直方图。同时,探讨了字符串的特性,特别是其不可变性,以及嵌套数组的概念。代码示例中包含了随机数生成、直方图绘制和嵌套数组的使用。

被折叠的 条评论
为什么被折叠?



