h1ru 发表于 2024-3-13 13:45:45

C语言指针与数组

一个数组里面n个指针,这些指针指向n个别的数组,这n个别的数组是u8 bufx

h1ru 发表于 2024-3-13 13:46:33

如何定义以及初始化

tcs_stm32 发表于 2024-3-13 16:10:18

不就一一赋值就可以

会飞的猪_2020 发表于 2024-3-13 16:34:25

n是动态的话,需要你自己分配。


会飞的猪_2020 发表于 2024-3-13 17:06:39

#include "stdio.h"
/* USER CODE END 0 */
void **argv = NULL;
uint32_t argc = 0;
uint8_t bufx = {0,1,2,3};
uint8_t bufx1;
uint8_t bufx2;
uint8_t bufx3;
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;
}
/**
* @briefThe 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;
}
}

会飞的猪_2020 发表于 2024-3-13 17:10:06

如果你知道n的个数的话,就直接。



uint8_t *argv = {0};
int argc = 0;
argv = buffer;

页: [1]
查看完整版本: C语言指针与数组