Skip to main content

moregeek program

C语言-说透指针-多极客编程

指针


简单的理解


<u>指针就是变量的地址</u>



指针变量的定义



int* p;
double* p;
char* p;


指针变量的地址



int a;
int* p=&a;
//或者也可以这样写
int a;
int* p;
p=&a;


注意


需要注意的是: int*是指针变量类型,后面的p才是指针变量 用来储存地址,因此地址&a是赋值给p而不是*p


指正与数组



#include<stdio.h>
int main(){
int a[10]={1,2,3,6,3,3,0};
int* p=a;
printf("%d",*p);
return 0;
}


output


1


指针作为参数



C语言-说透指针


#include<stdio.h>

void swap(int *a,int *b);
void main(){
int str[10];
int i,j;
printf("请输入十个数字并且以空格分开\n例如这样1 2 3 6 5 2 3 5 4 32 2\n");
for(i=0;i<10;i++){
scanf("%d",&str[i]);
}

for(i=0;i<10;i++){
for(j=i+1;j<10;j++){
if(str[i]>str[j]){
swap(&str[i],&str[j]);
}
}
}
printf(" \n");

for(i=0;i<10;i++){
printf("%d ",str[i]);
}

printf("\n");

}

void swap(int *a,int *b){
int c;
c=*a;
*a=*b;
*b=c;
}


引用



<u>对引用变量的操作就是对原变量的操作</u>


#include<stdio.h>
void change(int x){
x=1;
}

int main(){
int x=2;
change(x);
printf("%d",x);
return 0;
}

//output:2

#include<stdio.h>
void change(int &x){
x=1;
}

int main(){
int x=2;
change(x);
printf("%d",x);
return 0;
}

//output:1

©著作权归作者所有:来自51CTO博客作者孙中明的原创作品,请联系作者获取转载授权,否则将追究法律责任
C语言-说透指针
https://blog.51cto.com/hiszm/5222565

字符、字符串相关函数-多极客编程

1.strlen:求字符串长度,不包含\0;函数原型:szie_t strlen(const char* str);模拟实现strlen函数int my_strlen(const char* str){int count =0;while(*str) {count++;str++; }return count;}2.strcpy:字符串拷贝函数原型:char * strcpy(char* de

[ 数据结构 -- 手撕排序算法第四篇 ] 选择排序-多极客编程

 手撕排序算法系列之第四篇:选择排序。从本篇文章开始,我会介绍并分析常见的几种排序,大致包括​​直接插入排序​​​,​​冒泡排序​​​,​​希尔排序​​,选择排序,堆排序,快速排序,归并排序等。​本篇主要来手撕选择排序~~  目录1.常见的排序算法 2.直接选择排序3.选择排序的实现4.选择排序测试5.选择排序时间复杂度6.选择排序的特性总结1.常见的排序算法1.1选择排序选择排序的基本思想:每一

算法开胃小菜-多极客编程

开胃小菜 简单查找 害死人不偿命的3n+1 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1 对给定的任一不超过1000的正整数n,简单地数一下,需要多少步(砍几下)才能得到n=1? 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。 输出格式:输出从n计算到1需

算法题每日一练---第28天:世纪末的星期-多极客编程

一、问题描述 曾有人称 1999 年 12 月 31 日是世界末日。当然该谣言已经不攻自破。 还有人称今后的某个世纪末的 12 月 31 日,如果是星期一则会.... 有趣的是,任何一个世纪末的年份的 12 月 31 日都不可能是星期一 !! 于是,“谣言制造商”又修改为星期日...... 1999 年的 12 月 31 日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即 xx99 年)的 

类和对象—4-多极客编程

       今天我们聊主要聊聊有关赋值运算符重载的问题,在我看来赋值运算符写起来不是很难,要注意的点比较多;但是只要主意好要写的点,赋值运算符重载的问题还是很简单的。(代码测试在vs2013编译器上执行)首先我们来看运算符重载的定义:C++为了增强代码的可读性引入了运算符重载,运算符重载时具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通函数类似。函数名

C语言文件操作<二>-多极客编程

@TOC 前言 接上一篇 C语言文件操作<一> 一、文件的顺序读写函数 fgetc和fputc fgetc字符输入函数 适用于所有输入流 fputc字符输出函数 适用于所有输出流 int fgetc( FILE *stream ); int fputc( int c, FILE *stream ); fputc 写文件 int main() { FILE* pfWrite =

字符、字符串相关函数-多极客编程

1.strlen:求字符串长度,不包含\0;函数原型:szie_t strlen(const char* str);模拟实现strlen函数int my_strlen(const char* str){int count =0;while(*str) {count++;str++; }return count;}2.strcpy:字符串拷贝函数原型:char * strcpy(char* de

Go语言入门系列二-多极客编程

接上篇运算符优先级高 * / % << >> & &^ + - | ^ == != < <= > >= && ||低 二元运算符中,除了位移操作符外,操作数类型必须相同。如果其中一个是无显示类型声明的常量,那么该常量操作数会自动转型。func main() {const v = 2

PHP 零基础入门笔记(10):错误处理 error-多极客编程

错误处理 error 系统执行代码的时候,发现错误就会通过错误处理的形式告知程序员 错误分类 语法错误(Parse error):代码不符合 PHP 的语法规范,编译不通过 运行时错误(runtime error):编译通过,但是运行代码出错 逻辑错误:写代码不规范导致的逻辑性错误 // 此处 == 写成了 =, 永远为true if($a = 0){} 错误代号 PHP 中定义的系统常量 1、系

Sentinel向主服务和从服务器发送并接收信息-多极客编程

Sentinel向主服务和从服务器发送并接收信息 Sentinel每两秒一次的频率通过命令连接向所有被监视的主服务器和从服务器发送命令publish __sentinel__:hello "s_ip, s_port,s_runnid, s_epoch,m_name,m_ip, m_port, m_epoch s开头的参数记录的是Sentinel本身信息,m是主服务器的信息 接收来自主服务器和从服务

python 包之 math 数学函数教程-多极客编程

一、math库简介 math库是python提供的内置数学类函数库math库不支持复数类型,仅支持整数和浮点数运算math库一共提供了4个数字常数和44个函数其中44个函数共分为4类,包括16个数值表示函数,8个幂对数函数,16个三角对数函数和4个高等特殊函数二、数字常数import math# 圆周率,值为3.141592653589793math.pi# 自然对数,值为2.7182818284

算法题每日一练---第28天:世纪末的星期-多极客编程

一、问题描述 曾有人称 1999 年 12 月 31 日是世界末日。当然该谣言已经不攻自破。 还有人称今后的某个世纪末的 12 月 31 日,如果是星期一则会.... 有趣的是,任何一个世纪末的年份的 12 月 31 日都不可能是星期一 !! 于是,“谣言制造商”又修改为星期日...... 1999 年的 12 月 31 日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即 xx99 年)的