C 指向二维数组的指针定义

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013420428/article/details/82775473
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <stddef.h>

#define PATH1 "/tmp/dataadd/mp3"
#define PATH2 "/tmp/gotu/mp3"
#define PATH3 "/tmp/kk/mp3"

char path1[][32] = {
	PATH1,
	PATH2,
	PATH3
};

int main(int argc, char **argv)
{
	
	char (*path)[32] = NULL;  //指向二维数组的指针定义;  char **path是错的

	path = &path1[0][0]; //赋值
	
	printf("%s\n", path1[0]);
	printf("%s\n", path1[1]);
	printf("%s\n", path1[2]);

	printf("%d\n", sizeof(path1)/sizeof(path1[0])); // 3 计算数组的维度 PATH1,PATH2,PATH3
	printf("path:%d\n", strlen(path1[1])); // 计算长度
	printf("%s:\n", path[0]?path[0]:"null"); //  "/tmp/dataadd/mp3"    PATH1 

	return 0;
}

猜你喜欢

转载自blog.csdn.net/u013420428/article/details/82775473