C 不使用memset修改双指针
所以我想知道,如果不使用memcpy,如何修改这个数组中现有的字符串 原因是**数组是进程之间的共享内存,我想使用信号量来控制访问(如果我正确理解memcpy,它将允许进程访问当前被信号量锁定的内存区域)。C信任您只做安全的事情。没有办法让编译器强制执行“只有持有该信号量时才能访问该块”之类的内容 您记录所有需求(在源代码中),然后手动遵循合同 您使用什么功能并不重要C 不使用memset修改双指针,c,semaphore,C,Semaphore,所以我想知道,如果不使用memcpy,如何修改这个数组中现有的字符串 原因是**数组是进程之间的共享内存,我想使用信号量来控制访问(如果我正确理解memcpy,它将允许进程访问当前被信号量锁定的内存区域)。C信任您只做安全的事情。没有办法让编译器强制执行“只有持有该信号量时才能访问该块”之类的内容 您记录所有需求(在源代码中),然后手动遵循合同 您使用什么功能并不重要 char **ARRAY; char people[4][20]; shmid = shmget (shmkey, sizeof
char **ARRAY;
char people[4][20];
shmid = shmget (shmkey, sizeof (people), 0644 | IPC_CREAT);
ARRAY = (char**) shmat (shmid, NULL, 0);
memcpy(ARRAY, "BOBBY1", sizeof("BOBBY1"));
memcpy(ARRAY + 20, "BOBBY2", sizeof("BOBBY2"));
memcpy(ARRAY + 2*20, "BOBBY3", sizeof("BOBBY3"));
memcpy(ARRAY + 3*20, "BOBBY4", sizeof("BOBBY4"));