字符串数组

char  *a[ ]

a[0]\rightarrow \rightarrow \rightarrow \rightarrowhuan\0
a[1]\rightarrow \rightarrow \rightarrow \rightarrowxi\0
a[2]\rightarrow \rightarrow \rightarrow \rightarrowshan\0

数组中的内容为指针,指针指向其相应的字符串

char a[ ][ ]

a[0]huan\0
a[1]xi\0
a[2]shan\0

数组中存放的是相应的字符串

在课程的讨论区看到的,就记了下来。刚开始的时候没有注意到这个问题,后来自己思考的太少了

#include <stdio.h>
int main(int argc,char *argv[])
{
	const char *b[]={"wo","xi","huan","ni","li"};
	int a;
	scanf("%d",&a);
	printf("%s",b[a-1]);
	return 0;
}

数组的名字可以认为是指向数组首地址的指针,所以对于一个字符串(字符数组),char *str = "Hello"; 可以用printf("%s", str);输出。字符串数组的话,因为每一项都是一个字符数组,所以对于这个例子,用printf("%s", a[0]);可以输出January。如果将其解引用的话,*(a[0]),那么就会输出a[0]字符串的第一个字符J,因为是字符了,所以用%c输出,写做printf("%c", *(a[0])); 注意这里*的优先级更高,要加括号。

int  main(int agrc,char *argv[]) 

前面的整数是统计字符串的数量,后面的字符串指针数组用来保存文件路径,目前学的知识有限,也只能理解到这里。

#include <stdio.h>
int main(int argc,char *argv[])
{
	int i;
	for(i=0;i<argc;i++){
		printf("%d;%s",i,argv[i]);
	}
	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值