기본 콘텐츠로 건너뛰기

week4class2 Practice Manipulating Pointer

#include <stdio.h>
int main()
{
 //change the vaule by pointer
 int i = 10;
 int *p;
 p = &i;
 *p = 8;
 //i must be 8
 printf("*p = 8 // i = %d\n", i);
 //reduce the vaule using (*p)-- ,value is changed after printing
 (*p)--;
 //i must be 7
 printf("(*p)-- // i = %d\n\n", i);
 //check the index
 int a1[10] = { 0 };
 int *p1;
 p1 = a1;
 printf("before *p1++ = %d\n" ,p1);
 *p1++ = 1;
 printf("*p1++ = 1\n");
 for (int j = 0; j < 10; j++) {
  printf("a1[%d] vaule = %d\n",j, a1[j]);
 }
 printf("after *p1++ = %d\n\n" ,p1);
 //pointer priority is higher than ++
 /*
  1. pointer addree ++
  (*p1++)
   */

 int a2[10] = { 0 };
 int *p2;
 p2 = a2;

 printf("before *++p2 = %d\n" ,p2);
 *++p2 = 1;
 printf("*++p2 = 1\n" );
 for (int j = 0; j < 10; j++) {
  printf("a2[%d] vaule = %d\n", j, a2[j]);
 }
 printf("after *++p2 = %d\n\n" ,p2);
 /*1.  p is changed to a[1] = p++
  2. *p is changed to 1
  ++ operates twice
  (*++p2) = 1 is equal to p2 = P2 + 1  and (*p2) == (*p2) + 1
 */

 int a3[10] = { 0 };
 int *p3;
 p3 = a3;

 printf("before (*p3)++ = %d\n" ,p3);
 (*p3)++;
 for (int j = 0; j < 10; j++) {
  printf("a3[%d] vaule = %d\n", j, a3[j]);
 }
 printf("after (*p3)++ = %d\n\n" ,p3);
 /* print *p3 and increase the pointer value*/

 int a4[10] = { 0 };
 int *p4;
 p4 = a4;

 printf("before ++*(p4+1) = %d\n" ,p4);
 ++*(p4+1);
 for (int j = 0; j < 10; j++) {
  printf("a4[%d] vaule = %d\n", j, a4[j]);
 }
 printf("after ++*(p4+1) = %d\n\n" ,p4);
 /*1.p is added 1 size of int
 2.a4[1]'s vaule increase to 1
 3. nochange for pointer value

 ++*(p4+1) is equal to p4 + 1 and a4[1] = a4[1] + 1
 */

 int a5[10] = { 0 };
 int *p5;
 p5 = a5;

 printf("before (*(p5+1))++ = %d\n" ,p5);
 (*(p5+1))++;
 for (int j = 0; j < 10; j++) {
  printf("a5[%d] vaule = %d\n", j, a5[j]);
 }
 printf("after (*(p5+1))++ = %d\n\n" ,p5);
 /* a5[1] = 1
 1.p5 is added 4 bit temperaily in this line => p5 = a5[1]
 2. *p5 is added 1 => a5[1] = 1;
 3. p5 doesn't changed

 this line, we just got a access to p5 + 1 but didn't changed vaule of a5
 */
}

//어렵네 증말

댓글

이 블로그의 인기 게시물

JS 5.5 task6 Create an extendable calculator

<HTML>   <body>   </body>   <script> function Calculator() {   let methods = {     "-" : (a, b) => a - b,     "+" : (a, b) => a + b   };   //methods is an object which keeps key for operators   //and value to return the actual operation values   //each returns the result of operation that key(operator) does   this.calculate = function (str){     //calculate is one element in the function Calculator     //it takes the string and returns the value     //in the function element list is delimeted by , not ;     let split = str.split(" "),     a = +split[0],     op = split[1],     b = split [2]     if(!methods[op] || isNaN(a) || isNaN(b)) {       return NaN; // error handling     }     return methods[op](a,b);   }   this.addMethod = function(name, func){     methods[name] = func;     //this is how to add new key and ele to object   } } let powerCalc = new Calculator; powerCalc.addMethod("*&

JS 5.7 task5 Store read dates

<HTML>   <body>   </body>    <script>    let messages = [        {text: "Hello", from: "John"},        {text: "How goes?", from: "John"},        {text: "See you soon", from: "Alice"}    ];    let readMap = new WeakMap();    alert(readMap.size);    readMap.set(messages[0], new Date(2019, 3, 5));   </script> </HTML> <!-- task4 needed weakSet to save simply readmessage, this task needs to save THE TIME IT WAS READ along with the message itself the message out of the set or map means it hasn't been read I kinda feel good and bad at the same time to happen to read the solution but I do get to think more about the difference with tasks and be more available to understand the main contents so I think, its good? -->

How to set base url when deployed in Heroku? : base url and axios

https://stackoverflow.com/questions/47164330/axios-api-calls-in-heroku/47165888 baseUrl = process.env.baseURL || "http://localhost:5000" Even more stable way https://stackoverflow.com/questions/52129849/how-to-get-the-base-url-variable-on-a-deployed-heroku-node-app const production  = 'https://examplePage.com'; const development = 'http://localhost:3000/'; const url = (process.env.NODE_ENV ? production : development); process.env.NODE_ENV will resolve to undefined if you are running on localhost production mode. and return production if you have deployed the app production mode.