指针数组 学习笔记

#include<stdio.h>
#include<string.h>
#define N 4
#define LEN 20 
void main()
{
	int i,j;
	char temp[LEN], name[N][LEN] = {"China","America","Austlia","Japan"};
	for(i=1;i<=N;i++)
		for(j=0;j<N-i;j++)
			if(strcmp(name[j],name[j+1])>0)
			{
				strcpy(temp,name[j]);
				strcpy(name[j],name[j+1]);
				strcpy(name[j+1],temp);
			}
	for(i=0;i<N;i++)
		printf("%s\n",name[i]);
}
#include<stdio.h>
#include<string.h>
#define N 4
void main()
{
	int i,j;
	char *temp, *name[N] = {"China","America","Austlia","Japan"};
	for(i=1;i<=N;i++)
		for(j=0;j<N-i;j++)
			if(strcmp(name[j],name[j+1])>0)
			{
				temp = name[j];
				name[j] = name [j+1];
				name[j+1] = temp;
			}
	for(i=0;i<N;i++)
		printf("%s\n",name[i]);
}
时间: 2024-08-10 23:47:18

指针数组 学习笔记的相关文章

后缀数组学习笔记【详解|图】

后缀数组学习笔记[详解] 老天,一个后缀数组不知道看了多少天,最后终于还是看懂了啊! 最关键的就是一会儿下标表示排名,一会用数值表示排名绕死人了. 我不知道手跑了多少次才明白过来.其实我也建议初学者手跑几遍,但是一定要注意数组的意义,否则就是无用功. 数组含义: s[ ]:输入的字符串,预处理的时候会在末尾加上一个0 sa[ ]:它的下标就是后缀排名 x[ ] = t[ ]:用来保存第一关键字排名,注意!它的数值是排名.初始时恰好是字符串的ASCII码.字典序嘛! y[ ] = t2[ ]:它的

蓝鸥Unity开发基础—— 一维数组学习笔记

蓝鸥Unity开发基础-- 一维数组学习笔记 一.数组 之前我们学过很多数据类型,今天我们来学习数字,数字也是一种数据类型,那么,具体的数组是如何定义的? 数组:相同数据类型的成员组成的一组数据 Int类型数组:4  7  12  3  5--数组元素 Float数据类型数字:11.5 4.62 7.1 2.21 9.3--数组元素 数组中每一个元素都会分配一个数组下标,数组下标是从0开始的,有序排列,如:0 1 2 3 4 二.声明并初始化数组: 数组也是数据类型,所以也可以声明变量.使用ne

蓝鸥Unity开发基础—— 二维数组学习笔记

蓝鸥Unity开发基础-- 二维数组学习笔记 一.二维数组 有两个下标的数组叫做二维数组 类似[,]数组名=new类型[常量表达式1,常量表达式2] int[,] numbers= new int[2,3]; [0,0] [0,1] [0,2] [1,0] [1,1] [1,2] 举例说明 using System; namespace Lesson16{    class MainClass    {        public static void Main (string[] args)

《C和指针》学习笔记(1)

最近C语言已经学完,布置的大作业:学生管理系统5个版本也完成了.但是又买了一本<C和指针>,主要是感觉自己的指针还是没有完全熟悉.所以还是要好好研究一下.闲话不多说,直接第一章.一看是快速入门,以为很简单,但那个程序就把我卡了半天才看懂,按照作者说的的确运用了C语言中的大部分技巧. 程序1.1:首先读取一串列标号,这些列标号成对出现,便是输入行的列范围.这串列标号以一个负值结尾,作为结束标志.剩余的输入行被程序读入并打印,然后输入行中被选中范围的字符串被提取出来打印. 书中代码如下: #inc

【C++】--关于指针的学习笔记

1.指针的定义 指针(pointer)是指向另外一种类型的复合类型,与引用类似,指针也实现了对其他对象的间接访问. 与引用不同的几点: 1.指针本身就是一个对象,允许对指针赋值和拷贝,而且在指针的生命周期内它可以先后指向几个不同的对象. 2.指针不一定要在定义时赋初值. note:在块作用域内定义的指针如果没有被初始化,也将拥有一个不确定的值. 3. ...(待之后的学习实践中补充) 2.定义指针类型的方法 定义指针类型的方法是在变量名前面添加[*]星号,即将声明符写成[*d]的形式,d是变量名

勾股数组 学习笔记

颓废了一个暑假,想做点CF提高一下智商,然后就被这题卡住了.    http://codeforces.com/contest/707/problem/C 题目大意是给出各条边都是正整数的直角三角形的一条边长,求另外两条边可能的一种方案. 除了爆搜脑子一片空白,然后就很没志气的看了题解,提到了勾股数组,于是学习了一下.网络上的资料感觉证明不是详细,所以自己来写个总结. 1.首先如果 $a^2+b^2=c^2$ , 则$(ka)^2+(kb)^2=(kc)^2$ , 因此我们先只考虑$gcd(a,

智能指针_auto_ptr2_学习笔记

//1,release函数只是简单的转移对内存的拥有权,自己变成null,不会delete,一般在将所有权转移给别的智能指针的时候使用.具体可参加源码. 例: #include <memory> #include <iostream> using namespace std; class A { public:  A(int a):m_na(a)  {      cout<<"A cont" <<endl;  }  virtual ~A(

《C和指针》学习笔记(2)

1.1  "hello world"程序不说了,codeblocks直接生成. 1.2   题目:从标准输入读取几行输入.每行输入都要打印到标准输出上,前面要加上行号.让程序能够处理的输入行没有长度限制. /*我的程序*//* int main() { int ch; int line=1; while((ch=getchar())!=EOF) { printf("%d",line); if(ch!='\n') printf("%c",ch);

《C#高级编程》【第六章】数组 -- 学习笔记

       为了解决大量的同类型元素,于是数组就孕育而生了.数组是具有一定顺序关系的若干对象的集合体,一维数组可以看作是定长的线性表.反之,n为的数组可以看作线性表的推广.从存储结构上来看,数组是一段连续的存储空间.现在我们看看在C#中的数组: 1.普通数组 在C#中普通数组又可以分为一维数组.多维数组和锯齿数组. <1>一维数组 我们现在先看看一维数组的声明语法: 类型[] 变量名; 知道怎么声明了,现在我们继续看看数组的初始化吧,在C#中有4种初始化的方式: //n为数组长度,an为