#include <stdio.h>
//void show(char *p[]);
void show(char s[][]);
int main(){
char s[][]={"","abc","xyz"};
char *p[];
//指针数组要循环复制
p[] = s[];
char (*ps)[];
ps = s;
}
#include <stdio.h>
#include <string.h>
#define SIZE 80
#define LMT 3
#define HALT " " /**
* 字符串排序函数函数原型声明
*/
//如果直接传递二维数组,函数里边只能显示数组元素,不能更改元素位置
void str_sort(char str[][SIZE],int num);
//void str_sort(char *str,int num); int main(){
char input[LMT][SIZE];
//指针数组,要分别为每个元素赋值,指向多维数组的指针只需要为指针变量赋值即可
//指针数组初始化的时候要指定数组的大小,指向多维数组的指针只分配指针变量的内存空间即可
char *ps[LMT];
int ct = ;
int k; while(ct<LMT && gets(input[ct]) != NULL && input[ct][] != '\0'){
ps[ct] = input[ct];
ct++;
}
//str_sort(ps,ct);
str_sort(input,ct);
//puts("Here is the res list:");
//for(k=0;k<ct;k++){
// puts(ps[k]);
//}
return ;
} void str_sort(char str[][SIZE], int num){
//char *tmp;
//int top,seek;
//for(top=0;top<num-1;top++){
// for(seek=top+1;seek<num;seek++){
// if(strcmp(str[top], str[seek]) > 0){
// tmp = str[top];
// str[top] = str[seek];
// str[seek] = tmp;
// }
// }
//}
int i;
str[][]='*';
for(i=;i<num;i++){
printf("%s\n",str[i]);
}
}
#include <stdio.h>
#include <string.h>
#define SIZE 80
#define LMT 3
#define HALT " " /**
* 字符串排序函数函数原型声明
*/
void str_sort(char *str[],int num); int main(){
char input[LMT][SIZE];
char *ps[LMT];
int ct = ;
int k; while(ct<LMT && gets(input[ct]) != NULL && input[ct][] != '\0'){
ps[ct] = input[ct];
ct++;
}
str_sort(ps,ct);
puts("Here is the res list:");
for(k=;k<ct;k++){
puts(ps[k]);
}
return ;
} void str_sort(char *str[], int num){
char *tmp;
int top,seek;
for(top=;top<num-;top++){
for(seek=top+;seek<num;seek++){
if(strcmp(str[top], str[seek]) > ){
tmp = str[top];
str[top] = str[seek];
str[seek] = tmp;
}
}
}
}

二维数组作为函数参数

#include <stdio.h>
#include <string.h>
#define LMT 3
#define SIZE 80
void str_sort(char str[][SIZE], int num);
int main(){
char input[LMT][SIZE];
int ct;
while(ct < LMT && gets(input[ct]) != NULL && input[ct][] != '\0'){
ct++;
}
str_sort(input,LMT);
int i;
for(i=;i<LMT;i++){
puts(input[i]);
}
} void str_sort(char str[][SIZE], int num){
int i,j;
char tmp[SIZE];
for(i=;i<num-;i++){
for(j=i+;j<num;j++){
if(strcmp(str[i],str[j]) > ){
strcpy(tmp,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],tmp);
}
}
}
}

C语言--指向多维数组的指针和指针数组的更多相关文章

  1. c语言编程-----指向二维数组的指针

    c中如何返回一个指向二维数组的指针 #include <stdio.h> #include <stdlib.h> #define COUNT 3 typedef int (*M ...

  2. c语言中双维数组与指针的那点事儿

    说起c语言的指针,估计对c语言只是一知半解的同志们可能都会很头疼,尤其它跟数组又无耻的联系到一起的时候,就更加淫荡了!!! 怎么说呢,就是有一点规定:(或准则) 数组名可以看成是指向数组头元素的指针, ...

  3. C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com

    原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | I ...

  4. C语言指针系列 - 一级指针.一维数组,二级指针,二维数组,指针数组,数组指针,函数指针,指针函数

    1. 数组名 C语言中的数组名是一个特殊的存在, 从本质上来讲, 数组名是一个地址, 我们可以打印一个指针的值,和打印一个数组的值来观察出这个本质: int nArray[10] ={ 0 }; in ...

  5. C语言教学--二维数组和指针的理解

    对于初学者对二维数组和指针的理解很模糊, 或者感觉很难理解, 其实我们和生活联系起来, 这一切都会变得清晰透彻. 我们用理解一维数组的思想来理解二维数组, 对于一维数组,每个箱子里存放的是具体的苹果, ...

  6. 通过数组初始化链表的两种方法:指向指针的引用node *&tail和指向指针的指针(二维指针)node **tail

    面试高频题:单链表的逆置操作/链表逆序相关文章 点击打开 void init_node(node *tail,char *init_array) 这样声明函数是不正确的,函数的原意是通过数组初始化链表 ...

  7. C语言复习---二维数组和二级指针的关系:没关系,别瞎想(重点)

    前提:一维数组和一维指针为什么可以替换使用? ] = { , , }; int *p = a; ; i < ; i++) printf("%d ", *(p + i)); 上 ...

  8. C++之指针指向二维数组

    一维指针通经常使用指针表示,其指向的地址是数组第一元素所在的内存地址,例如以下 int ary[4][5]; int(*aryp)[5] = ary; 那么ary[4]相当于int(*aryp).下面 ...

  9. C 与 C++ 中 指向二维数组的指针进行指针运算

    二维数组在概念上是二维的,有行和列,但在内存中所有的数组元素都是连续排列的,它们之间没有"缝隙".以下面的二维数组 nums 为例: 从概念上理解,nums 的分布像一个矩阵,但在 ...

随机推荐

  1. HandlerThread

    一.概念     1.Android中Handler的使用,一般都在UI主线程中执行,因此在Handler接收消息后,处理消息时,不能做一些很耗时的操作,否则将出现ANR错误. 2.HandlerTh ...

  2. iOS 开发之路(登陆页键盘遮挡输入框问题)一

    在学习开发登陆页的时候,遇到的问题分享如下: 首先是swift 3.0 中,NotificationCenter 设置 selector 如下: @IBOutlet weak var bottomCo ...

  3. 【代码笔记】iOS-将图片处理成圆的

    一,效果图. 二,工程图. 三,代码. ViewController.m - (void)viewDidLoad { [super viewDidLoad]; // Do any additional ...

  4. 【代码笔记】iOS-将400电话中间加上-线

    一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...

  5. OC中的面向对象语法4

    一. 继承 1. 继承的基本用法 l 设计两个类Bird.Dog // Bird的声明 @interface Bird : NSObject { @public int weight; } - (vo ...

  6. MVC中的时间js格式化

    记录下我遇到的一个,MVC中post请求返回一个JSON字符串,其中包含数据库中的时间格式(如:/Date(10000000000)/),不知道怎么处理.百度的方法都不适用,经自己研究,做成了一个Jq ...

  7. php设计模式 适配器模式

    适配器模式,可以将截然不同的函数接口封装成统一的API: 应用举例,PHP的数据库操作有Mysql.Mysqli.pdo三种,可以用适配器模式统一成一致,类似的场景还有cache适配器,将memcac ...

  8. 使用axis调用WebService服务端

    由于项目中要调用其他公司的接口,研究了下axis调用webService这种方式,现将代码贴出,以备以后查阅: package com.xbq; import javax.xml.namespace. ...

  9. Nginx状态码499

    1.问题描述 140.207.202.187 - - [18/May/2016:10:30:58 +0800] "POST/v3/violations HTTP/1.1" 499 ...

  10. n枚硬币问题(找假币)

    问题描述: 在n枚外观相同的硬币中,有一枚是假币,并且已知假币与真币的重量不同,但不知道假币与真币相比较轻还是较重.可以通过一架天平来任意比较两组硬币,设计一个高效的算法来检测这枚假币. 解题思路: ...