• ios开发之c语言基础-结构体经典题目


    //

    //  main.m

    //  C8-指针

    //

    //  Created by dllo on 15/10/15.

    //  Copyright (c) 2015 dllo. All rights reserved.

    //


    #import <Foundation/Foundation.h>

    #import "student.h"


    //指针作为数组参数

    //void test(int *p)

    //{

    //    printf("%d ", *p);

    //    *p = 5;

    //}

    //冒泡排序指针实现

    //void maopao(int *k, int count)

    //{

    //    for (int i = 0; i< count - 1; i++) {

    //        for (int l = 0; l < count - 1 - i; l++) {

    //            if (*(k + l) > *(k + l + 1)) {

    //                int  b = k[l];

    //                k[l] = *(k + l  + 1);

    //                *(k + l + 1) = b;

    //            }

    //        }

    //    }

    //}

    //

    int main(int argc, const char * argv[]) {

    //

    //

    //    int a = 0;

    //    printf("%d ",a);

    //    printf("%p ",&a);

    //

        

        //定义一个指针类型的变量

        //变量类型 变量名 初值

      //  int *p = NULL;

        

        //指针基础使用最重要的两个符号: * &

        // * - 取值运算符

        //& - 取址运算符

        

        

      //  int a = 5;

        //通过指针访问

        //指针指向空间 - 本质就是指针的空间存了a的地址值

      //  p = &a;

        

        //通过指针访问所指向空间中的元素值

     //   printf("%d", *p);

        

        //练习

    //    float a = 4.5;

    //    float  *b = NULL;

    //    b = &a;

    //    printf("%f ",*b);

    //    

    ////

    //    int a = 5;

    //    int b = 7;

    //    int *p1 = NULL;

    //    int  *p2 = 0;

    //    p1 = &a;

    //    p2 = &b;

    //    

    //    int c = 0;

    //    int *temp = NULL;

    //    temp = &c;

    //    *temp = *p1;

    //    *p1 = *p2;

    //    *p2 = *temp;

    //    

    //    printf("%d %d",*p1,*p2);

    //    printf("%d %d",a , b);

        

    //    

    //    int a = 0;

    //    int b = 0;

    //    int c = 0;

    //    scanf("%d%d%d",&a, &b, &c);

    //    int *p1 = NULL;

    //    int *p2 = NULL;

    //    int *p3 = NULL;

    //    p1 = &a;

    //    p1 = &b;

    //    p1 = &c;

    //    int max = *p1 > *p2 ? * p1 : *p2;

    //    max = max > *p3 ? max : *p3;

        

    //    

    //    int a = 0;

    //    int b = a;

    //    printf("b1= %d",b);

    //    scanf("%d",&a);

    //    printf("b2= %d",b);

    //    

    //    

    //     int a = 0;

    //    int *p1 = NULL;

    //    p1 = &a;

    //    printf("p1= %d",*p1);

    //    scanf("%d",&a);

    //    printf("p2= %d",*p1);

        

        //定义和使用在一起,int *p = &a;

        

        //指针的加减就是位移

        

    //    int *p1 = NULL;

    //    char *p2 = NULL;

    //    printf("%ld ",sizeof(p1));

    //    printf("%ld ",sizeof(p2));

        //指针是用来存地址的,为了保证能够存下最大的地址.系统有自己的位宽64位或者32,硬件也有自己的位宽64位或者32,指针的大小跟系统有关,跟硬件无关

        //在同一个系统中,不同类型的指针占内存大小相同,64位下都占8个字节

        

        //不同类型的指针的意义

        //1 *p所见范围不同

        //2,p++移动大小不同

        

        

        

    //    int a = 256;

    //    char *p = &a;

    //    p++;

    //    printf("%d ",*p);

        

        

        //指针和数组的关系

    //    int a[5] = {1, 2, 3, 4, 5};

    //    int *p = NULL;

    //    

        //指针指向数组首地址

      //  p = a;

      //  p = &a[0];

        

        //指向数组中的其他元素

       // p++;

       // printf("%d ", *p);

        

        

    //    

    //    printf("%d ",p[1]);

    //     printf("%d ", *(p + 1));

    //     printf("%d ",*(a + 1));

    //    

    //    

        

        //记住2个本质,第一个语法糖(数组本不存在,a[4]实际上是一个首地址加上4个偏移量),c语言中所有的操作都是通过地址操作来实现的

        //第二个 变量,是地址所指向的空间.

        

        //数组名字是常量不可以改变

        //练习通过指针对数组进行冒泡排序

        

    //    int a[5] = {54, 34, 65, 434, 67};

    //    int *p = a;

    //    for (int i = 0; i < 5 - 1; i++) {

    //        for (int j = 0; j < 5 - i - 1; j++) {

    //            if (*(a + j) > *(p + j + 1)) {

    //                int b =*(p + j);

    //               *(p + j)= *(p + 1 + j);

    //                *(p + 1 + j) = b;

    //            }

    //        }

    //    }

    //    for (int i =0; i < 5; i++) {

    //        printf("%d ",*(p + i) );

    //    }

        //通过指针可以计算字符串的长度

        //编程实现

    //    char b[6] = "yuhao";

    //    char *p1 = b;

    //    int count = 0;

        //遇到''退出循环

    //    while (*p1 != '') {

    //        count++;

            //计数加1

           // p1++;

            //指针移动访问后一个元素

    //    }

    //    printf("%d ",count);

    //

    //    

    //    int a = 6;

    //    test(&a);

    //    printf("%d",a);

    //    int  a[5] = {1,34,55,64,432};

    //    maopao(a, 5);

    //    for (int i = 0 ; i < 5; i++) {

    //        printf("%d ",a[i]);

    //    }

        //指针数组

    //    int * p[2000] = {NULL};

    //    


        

        

        

    //昨天的限时代码

    //    student stu[6] = {

    //        {"yuhafo", "female", 22, 99},

    //        {"yuhfsao", "female", 22, 98},

    //        {"lijin", "man", 23, 94},

    //        {"wangqi", "man", 24, 93},

    //        {"sunyunpu", "man", 23, 99},

    //        {"zhouyou", "man", 34, 99}

    //    };

    //    pointstrarray(stu, 6);

    //    sortstrarray(stu, 6);

    //    pointstrarray(stu, 6);


    //  1.  (**)编写一个函数,交换2个浮点数。

    //    

    //    1. (***)在主函数中输入6个字符串(二维数组),对他们按从小到大的顺序,然后输出这6个已经排好序的字符串。要求使用指针数组进行处理。

    //    

    //    2. (****)面试题:

    //    有一字符串中包含数字与字符,请编程去除数字

    //

    //    

    //    

        

    //    float a = 5.8;

    //    

    //    

    //    float b = 8.0;

    // 

    //    change(&a, &b);

    //    

    //    char arr1[] = "yuhadjad2312jlsdhasdl";

    //

    //    

    //    removenumber(arr1);

    //    char arr1[30] = "aaasfff";

    //    char arr2[10] = "afa";

    //    copystrcat(arr1, arr2);

        //printf("%s",arr1);

    //    copystrcmp(arr1,arr2);

       // copystrcpy(arr1, arr2, 30);

        

        

        

        

        

        

        

        

        

        

        

        return 0;

    }



  • 相关阅读:
    Linux进阶之正则,shell三剑客(grep,awk,sed),cut,sort,uniq
    生成下拉列表
    获取服务器时间
    Web窗体(WebForm)
    Session
    Cookie
    Server属性
    Response缓冲区
    小案例
    Web窗体(WebForm)的删除和修改
  • 原文地址:https://www.cnblogs.com/yuhaojishuboke/p/5043134.html
Copyright © 2020-2023  润新知