1 /************************************************************************* 2 > File Name: ptr_both.c 3 > Author: Mr.Yang 4 > Purpose:思考指針指向字符串和指向整型的區別 5 > Created Time: 2017年06月03日 星期六 17時37分17秒 6 ************************************************************************/ 7 8 #include <stdio.h> 9 #include <stdlib.h> 10 #include <string.h> 11 12 int main(void) 13 { 14 /*指針指向字符串演示*/ 15 char *s1 = "hello"; 16 char *p1 = strchr(s1,'l');//返回首次出現該字符串的地址 17 printf("%s\n",p1);//%s它要求參數是一個指針!!! puts函數也要求它的參數是一個指針,而不能是數值!!! 18 19 /*指針指向整型演示*/ 20 int s2[] = {1,2,3,4}; 21 int *p2 = s2; 22 printf("%d\n",*p2);//%d它要求參數是一個值!!! 23 24 return 0; 25 }
這也就解釋了為什么printf同要輸出值,字符串和整型需要不同類型參數!!!
怎么從c語言的核心理解這兩個區別,也就是怎么從字符串、整形的存儲原理來理解???