硬汉嵌入式论坛

 找回密码
 立即注册
查看: 481|回复: 5
收起左侧

[其它] C语言指针与数组

[复制链接]

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2024-3-13 13:45:45 | 显示全部楼层 |阅读模式
一个数组里面n个指针,这些指针指向n个别的数组,这n个别的数组是u8 bufx[50]  
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2024-3-13 13:46:33 | 显示全部楼层
如何定义以及初始化
回复

使用道具 举报

8

主题

151

回帖

175

积分

初级会员

积分
175
发表于 2024-3-13 16:10:18 | 显示全部楼层
不就一一赋值就可以
回复

使用道具 举报

69

主题

345

回帖

567

积分

金牌会员

积分
567
发表于 2024-3-13 16:34:25 | 显示全部楼层
n是动态的话,需要你自己分配。


回复

使用道具 举报

69

主题

345

回帖

567

积分

金牌会员

积分
567
发表于 2024-3-13 17:06:39 | 显示全部楼层
[C] 纯文本查看 复制代码
#include "stdio.h"
/* USER CODE END 0 */
void **argv = NULL;
uint32_t argc = 0;
uint8_t bufx[50] = {0,1,2,3};
uint8_t bufx1[50];
uint8_t bufx2[50];
uint8_t bufx3[50];
uint8_t *tempbuf = NULL;

void add_buffer_to_argv(uint32_t *index, uint8_t *buffer)
{
    *index = *index + 1;
    argv = realloc(argv,sizeof(*argv) * (*index));
    if (argv == NULL) {
        //your error check
    }
    argv[*index-1] = buffer;
}
/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{
  /* USER CODE BEGIN 1 */
  add_buffer_to_argv(&argc,bufx);
  add_buffer_to_argv(&argc,bufx1);
  add_buffer_to_argv(&argc,bufx2);
  add_buffer_to_argv(&argc,bufx3);
  
  for (uint32_t i = 0; i < argc; i ++) {
      tempbuf = argv[i];
  }
}
回复

使用道具 举报

69

主题

345

回帖

567

积分

金牌会员

积分
567
发表于 2024-3-13 17:10:06 | 显示全部楼层
如果你知道n的个数的话,就直接。


[C] 纯文本查看 复制代码
uint8_t *argv[MAX_ARGS] = {0};
int argc = 0;
argv[argc++] = buffer;

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-11-1 07:38 , Processed in 0.225932 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表